Index: modules/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system.module,v retrieving revision 1.245 diff -u -F^f -r1.245 system.module --- modules/system.module 22 Oct 2005 15:14:46 -0000 1.245 +++ modules/system.module 22 Oct 2005 21:06:03 -0000 @@ -787,14 +787,18 @@ function system_themes_execute($form_id, db_query("UPDATE {system} SET status = 0 WHERE type = 'theme'"); if ($_POST['op'] == t('Save configuration')) { - variable_set('theme_default', $values['theme_default']); if (is_array($values['status'])) { foreach ($values['status'] as $key => $choice) { if ($choice) { + // If theme status is being set to 1 from 0, initialize block data for this theme if necessary. + if (db_num_rows(db_query("SELECT status FROM {system} WHERE type = 'theme' AND name = '%s' AND status = 0", $key))) { + system_initialize_theme_blocks($key); + } db_query("UPDATE {system} SET status = 1 WHERE type = 'theme' and name = '%s'", $key); } } } + variable_set('theme_default', $values['theme_default']); } else { variable_del('theme_default');