? views_rss_cacheable.patch
Index: views.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/views.module,v
retrieving revision 1.166.2.43
diff -u -r1.166.2.43 views.module
--- views.module	14 Jul 2007 18:54:16 -0000	1.166.2.43
+++ views.module	16 Nov 2007 23:10:53 -0000
@@ -600,15 +600,17 @@
 
   $view->real_url = views_get_url($view, $args);
 
-  $output .= views_theme('views_view', $view, $type, $items, $info['level'], $args);
+  $output .= views_theme('views_view', $view, $type, $items, $info['level'], $args);
 
   // Call a hook that'll let modules modify the view just after it is displayed.
   foreach (module_implements('views_post_view') as $module) {
     $function = $module .'_views_post_view';
     $output .= $function($view, $items, $output);
   }
-
-  return $output;
+  
+  if ($output != '') {
+    return $output;
+  }
 }
 
 // ---------------------------------------------------------------------------
@@ -1543,10 +1545,11 @@
       $output .= "<div class='view-summary ". views_css_safe('view-summary-'. $view->name) ."'>". views_theme($plugins[$view_type]['summary_theme'], $view, $type, $level, $nodes, $args) . '</div>';
     }
     else {
-      $output .= "<div class='view-content ". views_css_safe('view-content-'. $view->name) ."'>". views_theme($plugins[$view_type]['theme'], $view, $nodes, $type) . '</div>';
+      // we need to check to see if this is empty
+      $view_content = views_theme($plugins[$view_type]['theme'], $view, $nodes, $type);
+      $output .= "<div class='view-content ". views_css_safe('view-content-'. $view->name) ."'>". $view_content . '</div>';
     }
     $output .= views_get_textarea($view, $type, 'footer');
-
     if ($type == 'block' && $view->block_more && $num_nodes >= $view->nodes_per_block) {
       $output .= theme('views_more', $view->real_url);
     }
@@ -1562,7 +1565,9 @@
   if ($output) {
     $output = "<div class='view ". views_css_safe('view-'. $view->name) ."'>$output</div>\n";
   }
-  return $output;
+  if ($view_content != '') {
+    return $output;
+  }
 }
 
 /**
Index: views_rss.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/Attic/views_rss.module,v
retrieving revision 1.12.2.5
diff -u -r1.12.2.5 views_rss.module
--- views_rss.module	6 Mar 2007 21:44:32 -0000	1.12.2.5
+++ views_rss.module	16 Nov 2007 23:10:53 -0000
@@ -193,6 +193,4 @@
 
   drupal_set_header('Content-Type: text/xml; charset=utf-8');
   print $output;
-  module_invoke_all('exit');
-  exit; 
 }
