summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/field_ui/field_ui.admin.inc7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/field_ui/field_ui.admin.inc b/modules/field_ui/field_ui.admin.inc
index 11bd18381..34dafb1da 100644
--- a/modules/field_ui/field_ui.admin.inc
+++ b/modules/field_ui/field_ui.admin.inc
@@ -658,8 +658,11 @@ function field_ui_display_overview_form_submit($form, &$form_state) {
foreach ($form_values as $key => $values) {
if (in_array($key, $form['#fields'])) {
$instance = field_info_instance($key, $form['#bundle']);
- unset($values['weight']);
- $instance['display'] = array_merge($instance['display'], $values);
+ foreach ($instance['display'] as $build_mode => $display) {
+ if (isset($values[$build_mode])) {
+ $instance['display'][$build_mode] = array_merge($instance['display'][$build_mode], $values[$build_mode]);
+ }
+ }
field_update_instance($instance);
}
}