diff --git a/core/lib/Drupal/Core/Extension/ThemeHandler.php b/core/lib/Drupal/Core/Extension/ThemeHandler.php index d5b3317..35ab1d4 100644 --- a/core/lib/Drupal/Core/Extension/ThemeHandler.php +++ b/core/lib/Drupal/Core/Extension/ThemeHandler.php @@ -162,16 +162,9 @@ public function disable(array $theme_list) { // Don't disable the default or admin themes. $default_theme = \Drupal::config('system.theme')->get('default'); $admin_theme = \Drupal::config('system.theme')->get('admin'); - $required_themes = array($default_theme, $admin_theme); - - foreach ($required_themes as $theme) { - $pos = array_search($theme, $theme_list); - if ($pos !== FALSE) { - unset($theme_list[$pos]); - if (empty($theme_list)) { - return; - } - } + $theme_list = array_diff($theme_list, array($default_theme, $admin_theme)); + if (empty($theme_list)) { + return; } $this->clearCssCache();