--- D:/Drupal/Modules/flexifield-6.x-1.0-alpha5/flexifield/flexifield-cck-overrides.inc	Âò ×åð  9 22:18:03 2009
+++ D:/Drupal/Modules/flexifield-6.x-1.0-alpha5/flexifield/flexifield-cck-overrides - Copy.inc	×ò Êâ³ 28 18:44:45 2011
@@ -208,8 +208,15 @@
   $form_state['item_count'] = array($field_name => count($_POST[$field_name]) + 1);
   $form_element = content_field_form($form, $form_state, $field);
   // Let other modules alter it.
-  drupal_alter('form', $form_element, array(), 'content_add_more_js');
-
+  // We pass an empty array as hook_form_alter's usual 'form_state' parameter,
+  // instead of $form_state (for reasons we may never remember).
+  // However, this argument is still expected to be passed by-reference
+  // (and PHP5.3 will throw an error if it isn't.) This leads to:
+  $data = &$form_element;
+  $empty_form_state = array();
+  $data['__drupal_alter_by_ref'] = array(&$empty_form_state);
+  drupal_alter('form', $data, 'content_add_more_js');
+	
   // Add the new element at the right place in the (original, unbuilt) form.
   if (module_exists('fieldgroup') && ($group_name = _fieldgroup_field_get_group($type['type'], $field_name))) {
     $form[$group_name][$field_name] = $form_element[$field_name];
