summaryrefslogtreecommitdiff
path: root/includes/menu.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/menu.inc')
-rw-r--r--includes/menu.inc13
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');
}
/**