diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php index 25841ef..f30b69c 100644 --- a/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php +++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityFormDisplayTest.php @@ -24,6 +24,11 @@ public static function getInfo() { ); } + protected function setUp() { + parent::setUp(); + $this->installConfig(array('field')); + } + /** * Tests entity_get_form_display(). */ diff --git a/core/modules/field_ui/field_ui.admin.inc b/core/modules/field_ui/field_ui.admin.inc index 5acd486..fa9ebd1 100644 --- a/core/modules/field_ui/field_ui.admin.inc +++ b/core/modules/field_ui/field_ui.admin.inc @@ -5,6 +5,7 @@ * Administrative interface for custom field type creation. */ +use Drupal\Component\Utility\NestedArray; use Drupal\field\Plugin\Core\Entity\FieldInstance; use Drupal\field_ui\FieldOverview; use Drupal\field_ui\DisplayOverview; @@ -1010,8 +1011,8 @@ function field_ui_field_edit_form_submit($form, &$form_state) { // Handle widget settings. $options = $entity_form_display->getComponent($instance['field_name']); - $options['settings'] = $form_state['values']['instance']['widget']['settings']; - $entity_form_display->setComponent($instance['field_name'], $options); + $options['settings'] = NestedArray::mergeDeep($options['settings'], $form_state['values']['instance']['widget']['settings']); + $entity_form_display->setComponent($instance['field_name'], $options)->save(); unset($form_state['values']['instance']['widget']); // Merge incoming values into the instance.