diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php index f2acf25..786be98 100644 --- a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php +++ b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php @@ -167,8 +167,8 @@ public function testCloneDisplay() { $displays = $view->displayHandlers; $this->assertTrue($displays['page_2'], 'The new page display got saved.'); $this->assertTrue($displays['block_1'], 'The new block display got saved.'); - $this->assertEqual($displays['page_2'], 'Page 2', 'The new display title got generated as expected.'); - $this->assertEqual($displays['block_1'], 'Block 1', 'The new display title got generated as expected.'); + $this->assertEqual($displays['page_2']->display['display_title'], 'Page'); + $this->assertEqual($displays['block_1']->display['display_title'], 'Block', 'The new display title got generated as expected.'); $this->assertEqual($displays['block_1']->getOption('title'), $random_title, 'The overridden title option from the display got copied into the clone'); $this->assertEqual($displays['block_1']->getOption('css_class'), $random_css, 'The overridden css_class option from the display got copied into the clone'); } diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php index 1133b9a..c27575d 100644 --- a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php +++ b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php @@ -8,6 +8,7 @@ namespace Drupal\views_ui; use Drupal\Core\Entity\EntityInterface; +use Drupal\Component\Utility\NestedArray; use Drupal\views\ViewExecutable; /** @@ -798,7 +799,7 @@ public function submitCloneDisplayAsType($form, &$form_state) { $display_clone = $displays[$display_id]; unset($display_clone['display_title']); - $displays[$new_display_id] += $display_clone; + $displays[$new_display_id] = NestedArray::mergeDeep($displays[$new_display_id], $display_clone); $displays[$new_display_id]['id'] = $new_display_id; $view->set('display', $displays);