diff --git modules/file/file.field.inc modules/file/file.field.inc index 35696dd..053acfc 100644 --- modules/file/file.field.inc +++ modules/file/file.field.inc @@ -750,17 +750,18 @@ function file_field_widget_submit($form, &$form_state) { $parents = $element['#field_parents']; $submitted_values = drupal_array_get_nested_value($form_state['values'], array_slice($button['#array_parents'], 0, -2)); - foreach ($submitted_values as $delta => $submitted_value) { - if (!$submitted_value['fid']) { - unset($submitted_values[$delta]); + if (is_array($submitted_values) AND count($submitted_values) > 0) { + foreach ($submitted_values as $delta => $submitted_value) { + if (!$submitted_value['fid']) { + unset($submitted_values[$delta]); + } } - } + // Re-index deltas after removing empty items. + $submitted_values = array_values($submitted_values); - // Re-index deltas after removing empty items. - $submitted_values = array_values($submitted_values); - - // Update form_state values. - drupal_array_set_nested_value($form_state['values'], array_slice($button['#array_parents'], 0, -2), $submitted_values); + // Update form_state values. + drupal_array_set_nested_value($form_state['values'], array_slice($button['#array_parents'], 0, -2), $submitted_values); + } // Update items. $field_state = field_form_get_state($parents, $field_name, $langcode, $form_state);