summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Settings/Manager.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php
index 6da499c31c4..cd0af5e7bb2 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']);
}
}