Index: feedapi.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi.module,v
retrieving revision 1.23.2.119.2.45
diff -u -p -r1.23.2.119.2.45 feedapi.module
--- feedapi.module	21 Feb 2009 15:38:19 -0000	1.23.2.119.2.45
+++ feedapi.module	21 Feb 2009 17:30:44 -0000
@@ -906,11 +906,14 @@ function _feedapi_call_parsers($feed, $p
       }
     }
   }
-  for ($i = 0; $i < count($feed->items); $i++) {
-    $feed->items[$i]->title = _feedapi_process_text($feed->items[$i]->title, array());
-    $feed->items[$i]->description = _feedapi_process_text($feed->items[$i]->description, $allowed);
-    if ($feed->items[$i]->options->timestamp == 0) {
-      $feed->items[$i]->options->timestamp = time();
+  
+  if (isset($feed->items)) {
+    for ($i = 0; $i < count($feed->items); $i++) {
+      $feed->items[$i]->title = _feedapi_process_text($feed->items[$i]->title, array());
+      $feed->items[$i]->description = _feedapi_process_text($feed->items[$i]->description, $allowed);
+      if ($feed->items[$i]->options->timestamp == 0) {
+        $feed->items[$i]->options->timestamp = time();
+      }
     }
   }
 
@@ -1263,6 +1266,15 @@ function feedapi_get_settings($node_type
   // Fallback: node_type.
   if (isset($node_type) && is_string($node_type)) {
     if ($settings = variable_get('feedapi_settings_'. $node_type, FALSE)) {
+      // Sanitize data right now, tricky users may turned off the module
+      foreach (array('parsers', 'processors') as $type) {
+        $modules = array_keys($settings[$type]);
+        foreach ($modules as $module) {
+          if (!module_exists($module)) {
+            unset($settings['parsers'][$module]);
+          }
+        }
+      }
       return $settings;
     }
   }
