diff options
Diffstat (limited to 'includes/menu.inc')
-rw-r--r-- | includes/menu.inc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/includes/menu.inc b/includes/menu.inc index ecdd15075..934160684 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -2185,6 +2185,9 @@ function menu_cache_clear($menu_name = 'navigation') { register_shutdown_function('cache_clear_all', 'links:' . $menu_name . ':', 'cache_menu', TRUE); $cache_cleared[$menu_name] = 2; } + + // Also clear the menu system static caches. + menu_reset_static_cache(); } /** @@ -2193,6 +2196,16 @@ function menu_cache_clear($menu_name = 'navigation') { */ function menu_cache_clear_all() { cache_clear_all('*', 'cache_menu', TRUE); + menu_reset_static_cache(); +} + +/** + * Resets the menu system static cache. + */ +function menu_reset_static_cache() { + drupal_static_reset('menu_tree'); + drupal_static_reset('menu_tree_all_data'); + drupal_static_reset('menu_tree_page_data'); } /** |