From a04672532138a560caf68b7ab5f110134f6c30fb Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 24 Aug 2016 13:22:21 +0200 Subject: [PATCH] Dark autoloader magic for ThemingDefaults --- lib/private/Server.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/private/Server.php b/lib/private/Server.php index d3da028a27..55fe71d50a 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -642,10 +642,16 @@ class Server extends ServerContainer implements IServerContainer { return $factory->getManager(); }); $this->registerService('ThemingDefaults', function(Server $c) { - try { - $classExists = class_exists('OCA\Theming\ThemingDefaults'); - } catch (\OCP\AutoloadNotAllowedException $e) { - // App disabled or in maintenance mode + /* + * Dark magic for autoloader. + * If we do a class_exists it will try to load the class which will + * make composer cache the result. Resulting in errors when enabling + * the theming app. + */ + $prefixes = \OC::$composerAutoloader->getPrefixesPsr4(); + if (isset($prefixes['OCA\\Theming\\'])) { + $classExists = true; + } else { $classExists = false; }