diff --git a/framework/core/src/Extension/ExtensionManager.php b/framework/core/src/Extension/ExtensionManager.php index 0e008230a..f0e62838c 100644 --- a/framework/core/src/Extension/ExtensionManager.php +++ b/framework/core/src/Extension/ExtensionManager.php @@ -113,9 +113,9 @@ class ExtensionManager public function enable($name) { if (! $this->isEnabled($name)) { - $this->dispatcher->fire(new ExtensionWillBeEnabled($extension)); - $extension = $this->getExtension($name); + + $this->dispatcher->fire(new ExtensionWillBeEnabled($extension)); $enabled = $this->getEnabled(); @@ -143,12 +143,12 @@ class ExtensionManager $enabled = $this->getEnabled(); if (($k = array_search($name, $enabled)) !== false) { + $extension = $this->getExtension($name); + $this->dispatcher->fire(new ExtensionWillBeDisabled($extension)); unset($enabled[$k]); - $extension = $this->getExtension($name); - $this->setEnabled($enabled); $extension->setEnabled(false);