Index: includes/theme.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.inc,v retrieving revision 1.607 diff -u -p -r1.607 theme.inc --- includes/theme.inc 2 Sep 2010 15:58:53 -0000 1.607 +++ includes/theme.inc 3 Sep 2010 17:09:30 -0000 @@ -143,6 +143,17 @@ function _drupal_theme_initialize($theme // Grab stylesheets from base theme foreach ($base_theme as $base) { + // Remove base stylesheets. + if (!empty($base->stylesheets_remove)) { + foreach ($base->stylesheets_remove as $media => $stylesheets_remove) { + foreach ($stylesheets_remove as $name) { + if (isset($final_stylesheets[$media][$name])) { + unset($final_stylesheets[$media][$name]); + } + } + } + } + // Add stylesheets. if (!empty($base->stylesheets)) { foreach ($base->stylesheets as $media => $stylesheets) { foreach ($stylesheets as $name => $stylesheet) { @@ -151,6 +162,16 @@ function _drupal_theme_initialize($theme } } } + // Remove stylesheets specified by this theme. + if (!empty($theme->stylesheets_remove)) { + foreach ($theme->stylesheets_remove as $media => $stylesheets_remove) { + foreach ($stylesheets_remove as $name) { + if (isset($final_stylesheets[$media][$name])) { + unset($final_stylesheets[$media][$name]); + } + } + } + } // Add stylesheets used by this theme. if (!empty($theme->stylesheets)) { @@ -604,6 +625,13 @@ function list_themes($refresh = FALSE) { $theme->stylesheets[$media][$stylesheet] = $path; } } + if (isset($theme->info['stylesheets-remove'])) { + foreach ($theme->info['stylesheets-remove'] as $media => $stylesheets) { + foreach ($stylesheets as $stylesheet) { + $theme->stylesheets_remove[$media][$stylesheet] = $stylesheet; + } + } + } foreach ($theme->info['scripts'] as $script => $path) { if (file_exists($path)) { $theme->scripts[$script] = $path;