Index: modules/menu/menu.module =================================================================== RCS file: /cvs/drupal/drupal/modules/menu/menu.module,v retrieving revision 1.233 diff -u -p -r1.233 menu.module --- modules/menu/menu.module 24 Sep 2010 00:37:43 -0000 1.233 +++ modules/menu/menu.module 15 Oct 2010 17:37:22 -0000 @@ -260,6 +260,13 @@ function menu_save($menu) { ->execute(); menu_cache_clear_all(); + // Make sure the menu is present in the active menus variable. + $active_menus = variable_get('menu_default_active_menus', array_keys(menu_list_system_menus())); + if (!in_array($menu['menu_name'], $active_menus)) { + $active_menus[] = $menu['menu_name']; + variable_set('menu_default_active_menus', $active_menus); + } + switch ($status) { case SAVED_NEW: module_invoke_all('menu_insert', $menu); @@ -299,6 +306,15 @@ function menu_delete($menu) { // Delete all links from the menu. menu_delete_links($menu['menu_name']); + // Remove menu from active menus variable. + $active_menus = variable_get('menu_default_active_menus', array_keys(menu_list_system_menus())); + foreach ($active_menus as $i => $menu_name) { + if ($menu['menu_name'] == $menu_name) { + unset($active_menu[$i]); + } + } + variable_set('menu_default_active_menus', $active_menus); + // Delete the custom menu. db_delete('menu_custom') ->condition('menu_name', $menu['menu_name'])