? 694094_views_default_reset_2010-05-25.patch
? views-static-cache-resets-694094-7.patch
Index: views.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/views.module,v
retrieving revision 1.341.2.12
diff -u -p -r1.341.2.12 views.module
--- views.module	29 Apr 2010 18:26:04 -0000	1.341.2.12
+++ views.module	6 Aug 2010 20:05:15 -0000
@@ -546,8 +546,8 @@ function views_include($file) {
 /**
  * Load views files on behalf of modules.
  */
-function views_module_include($file) {
-  foreach (views_get_module_apis() as $module => $info) {
+function views_module_include($file, $reset = FALSE) {
+  foreach (views_get_module_apis($reset) as $module => $info) {
     if (file_exists("./$info[path]/$module.$file")) {
       require_once "./$info[path]/$module.$file";
     }
@@ -557,9 +557,9 @@ function views_module_include($file) {
 /**
  * Get a list of modules that support the current views API.
  */
-function views_get_module_apis() {
+function views_get_module_apis($reset = FALSE) {
   static $cache = NULL;
-  if (!isset($cache)) {
+  if (!isset($cache) || $reset) {
     $cache = array();
     foreach (module_implements('views_api') as $module) {
       $function = $module . '_views_api';
@@ -607,10 +607,10 @@ function views_add_js($file) {
 /**
  * Load views files on behalf of modules.
  */
-function views_include_handlers() {
+function views_include_handlers($reset = FALSE) {
   static $finished = FALSE;
   // Ensure this only gets run once.
-  if ($finished) {
+  if ($finished && !$reset) {
     return;
   }
 
@@ -618,26 +618,26 @@ function views_include_handlers() {
   views_include('handlers');
   views_include('cache');
   views_include('plugins');
-  _views_include_handlers();
+  _views_include_handlers($reset);
   $finished = TRUE;
 }
 
 /**
  * Load default views files on behalf of modules.
  */
-function views_include_default_views() {
+function views_include_default_views($reset = FALSE) {
   static $finished = FALSE;
   // Ensure this only gets run once.
-  if ($finished) {
+  if ($finished && !$reset) {
     return;
   }
 
   // Default views hooks may be in the normal handler file,
   // or in a separate views_default file at the discretion of
   // the module author.
-  views_include_handlers();
+  views_include_handlers($reset);
 
-  _views_include_default_views();
+  _views_include_default_views($reset);
   $finished = TRUE;
 }
 
@@ -720,18 +720,20 @@ function views_get_plugin($type, $plugin
  * @return
  *   A view object or NULL if it is not available.
  */
-function &views_get_default_view($view_name) {
+function &views_get_default_view($view_name, $reset = FALSE) {
   $null = NULL;
 
   // Attempt to load individually cached view from cache.
   views_include('cache');
-  $data = views_cache_get("views_default:{$view_name}", TRUE);
-  if (isset($data->data) && is_object($data->data)) {
-    return $data->data;
+  if (!$reset) {
+    $data = views_cache_get("views_default:{$view_name}", TRUE);
+    if (isset($data->data) && is_object($data->data)) {
+      return $data->data;
+    }
   }
 
   // Otherwise, allow entire cache to be rebuilt.
-  $cache = views_discover_default_views();
+  $cache = views_discover_default_views($reset);
   if (isset($cache[$view_name])) {
     return $cache[$view_name];
   }
@@ -759,12 +761,12 @@ function views_new_view() {
  *
  * @return An associative array of all known default views.
  */
-function views_discover_default_views() {
+function views_discover_default_views($reset = FALSE) {
   static $cache = array();
 
-  if (empty($cache)) {
+  if (empty($cache) || $reset) {
     views_include('cache');
-    $cache = _views_discover_default_views();
+    $cache = _views_discover_default_views($reset);
   }
   return $cache;
 }
@@ -839,7 +841,7 @@ function views_get_all_views($reset = FA
     // Get all default views.
     $status = variable_get('views_defaults', array());
 
-    foreach (views_discover_default_views() as $view) {
+    foreach (views_discover_default_views($reset) as $view) {
       // Determine if default view is enabled or disabled.
       if (isset($status[$view->name])) {
         $view->disabled = $status[$view->name];
@@ -877,7 +879,7 @@ function views_get_all_views($reset = FA
 function views_get_view($name, $reset = FALSE) {
   views_include('view');
   $view = view::load($name, $reset);
-  $default_view = views_get_default_view($name);
+  $default_view = views_get_default_view($name, $reset);
 
   if (empty($view) && empty($default_view)) {
     return;
Index: includes/cache.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/includes/cache.inc,v
retrieving revision 1.25.2.4
diff -u -p -r1.25.2.4 cache.inc
--- includes/cache.inc	12 Mar 2010 01:51:47 -0000	1.25.2.4
+++ includes/cache.inc	6 Aug 2010 20:05:17 -0000
@@ -10,15 +10,15 @@
 /**
  * Load views files on behalf of modules.
  */
-function _views_include_handlers() {
-  views_module_include('views.inc');
+function _views_include_handlers($reset = FALSE) {
+  views_module_include('views.inc', $reset);
 }
 
 /**
  * Load default views files on behalf of modules.
  */
-function _views_include_default_views() {
-  views_module_include('views_default.inc');
+function _views_include_default_views($reset = FALSE) {
+  views_module_include('views_default.inc', $reset);
 }
 
 /**
@@ -96,14 +96,14 @@ function _views_fetch_plugin_data($type 
  *
  * @return An associative array of all known default views.
  */
-function _views_discover_default_views() {
+function _views_discover_default_views($reset = FALSE) {
   static $cache = NULL;
 
-  if (!isset($cache)) {
+  if (!isset($cache) || $reset) {
     $index = views_cache_get('views_default_views_index', TRUE);
 
     // Retrieve each cached default view
-    if (isset($index->data) && is_array($index->data)) {
+    if (!$reset && isset($index->data) && is_array($index->data)) {
       $cache = array();
       foreach ($index->data as $view_name) {
         $data = views_cache_get('views_default:' . $view_name, TRUE);
@@ -114,7 +114,7 @@ function _views_discover_default_views()
     }
     // If missing index, rebuild the cache
     else {
-      views_include_default_views();
+      views_include_default_views($reset);
       $cache = array();
 
       foreach(module_implements('views_default_views') as $module) {
