diff --git a/includes/cache.inc b/includes/cache.inc index aad8784..9ca44eb 100644 --- a/includes/cache.inc +++ b/includes/cache.inc @@ -14,7 +14,7 @@ * One example is views_get_handler. */ function _views_fetch_data($table = NULL, $move = TRUE, $reset = FALSE) { - static $cache = NULL; + static $cache = &drupal_static(__FUNCTION__, NULL); static $recursion_protection = array(); if (!isset($cache) || $reset) { $start = microtime(TRUE); @@ -66,7 +66,7 @@ function _views_fetch_data($table = NULL, $move = TRUE, $reset = FALSE) { * Fetch the plugin data from cache. */ function _views_fetch_plugin_data($type = NULL, $plugin = NULL, $reset = FALSE) { - static $cache = NULL; + static $cache = &drupal_static(__FUNCTION__, NULL); if (!isset($cache) || $reset) { $start = microtime(TRUE); views_include('plugins'); diff --git a/includes/view.inc b/includes/view.inc index 49f3b9a..c6b7385 100644 --- a/includes/view.inc +++ b/includes/view.inc @@ -1485,7 +1485,7 @@ class view extends views_db_object { * A view object or NULL if it was not available. */ static function &load($arg, $reset = FALSE) { - static $cache = array(); + static $cache = &drupal_static(__FUNCTION__, NULL); // We want a NULL value to return TRUE here, so we can't use isset() or empty(). if (!array_key_exists($arg, $cache) || $reset) { diff --git a/plugins/views_plugin_display.inc b/plugins/views_plugin_display.inc index c4a34bc..309214c 100644 --- a/plugins/views_plugin_display.inc +++ b/plugins/views_plugin_display.inc @@ -698,7 +698,7 @@ class views_plugin_display extends views_plugin { * Get the display or row plugin, if it exists. */ function get_plugin($type = 'style', $name = NULL) { - static $cache = array(); + static $cache = &drupal_static(__FUNCTION__, NULL); if (!isset($cache[$type][$name])) { switch ($type) { case 'style': diff --git a/plugins/views_plugin_exposed_form_input_required.inc b/plugins/views_plugin_exposed_form_input_required.inc index 2b564a4..b2a3b57 100644 --- a/plugins/views_plugin_exposed_form_input_required.inc +++ b/plugins/views_plugin_exposed_form_input_required.inc @@ -33,7 +33,7 @@ class views_plugin_exposed_form_input_required extends views_plugin_exposed_form } function exposed_filter_applied() { - static $cache = NULL; + static $cache = &drupal_static(__FUNCTION__, NULL); if (!isset($cache)) { $view = $this->view; if (is_array($view->filter) && count($view->filter)) { diff --git a/views.module b/views.module index cd054df..993fd5e 100644 --- a/views.module +++ b/views.module @@ -920,7 +920,7 @@ function views_check_roles($rids, $account = NULL) { * for other modules or the theme to identify. */ function &views_set_page_view($view = NULL) { - static $cache = NULL; + static $cache = &drupal_static(__FUNCTION__, NULL); if (isset($view)) { $cache = $view; } @@ -942,7 +942,7 @@ function &views_get_page_view() { * easy for other modules or items in drupal_eval to identify */ function &views_set_current_view($view = NULL) { - static $cache = NULL; + static $cache = &drupal_static(__FUNCTION__, NULL); if (isset($view)) { $cache = $view; }