? 693024_alter.patch
Index: features.export.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/features/features.export.inc,v
retrieving revision 1.1.2.57
diff -u -p -r1.1.2.57 features.export.inc
--- features.export.inc	21 Jul 2010 00:45:15 -0000	1.1.2.57
+++ features.export.inc	21 Jul 2010 02:14:29 -0000
@@ -493,7 +493,7 @@ function features_get_signature($state =
       $codecache = variable_get('features_codecache', array());
       return isset($codecache[$module_name][$component]) ? $codecache[$module_name][$component] : FALSE;
     case 'default':
-      $objects = features_get_default($component, $module_name, $reset);
+      $objects = features_get_default($component, $module_name, TRUE, $reset);
       break;
     case 'normal':
       $objects = features_get_normal($component, $module_name, $reset);
@@ -579,7 +579,7 @@ function features_get_normal($component,
 /**
  * Get defaults for a given module/component pair.
  */
-function features_get_default($component, $module_name = NULL, $reset = FALSE) {
+function features_get_default($component, $module_name = NULL, $alter = TRUE, $reset = FALSE) {
   static $cache = array();
   features_include();
   features_include_defaults($component);
@@ -605,7 +605,15 @@ function features_get_default($component
       }
       // All other components
       else {
-        $cache[$component][$m] = ($default_hook && module_hook($m, $default_hook)) ? module_invoke($m, $default_hook) : FALSE;
+        if ($default_hook && module_hook($m, $default_hook)) {
+          $cache[$component][$m] = module_invoke($m, $default_hook);
+          if ($alter) {
+            drupal_alter($default_hook, $cache[$component][$m]);
+          }
+        }
+        else {
+          $cache[$component][$m] = FALSE;
+        }
       }
     }
   }
