diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 6da499c31c..cd0af5e7bb 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -32,6 +32,7 @@ namespace OC\Settings; use OC\Accounts\AccountManager; use OCP\App\IAppManager; use OCP\AppFramework\QueryException; +use OCP\AutoloadNotAllowedException; use OCP\Encryption\IManager as EncryptionManager; use OCP\IConfig; use OCP\IDBConnection; @@ -471,6 +472,10 @@ class Manager implements IManager { $settings[$row['priority']][] = $this->query($row['class']); } catch (QueryException $e) { // skip + } catch (AutoloadNotAllowedException $e) { + // skip error and remove remnant of disabled app + $this->log->warning('Orphan setting entry will be removed from admin_settings: ' . json_encode($row)); + $this->mapper->remove(Mapper::TABLE_ADMIN_SETTINGS, $row['class']); } }