diff --git a/core/modules/views/views.module b/core/modules/views/views.module index f5e1698..a7c2b57 100644 --- a/core/modules/views/views.module +++ b/core/modules/views/views.module @@ -484,7 +484,8 @@ function views_menu_alter(&$callbacks) { */ function views_config_import_validate($changes, $source_storage, $target_storage) { $views = array(); - $display_definitions = drupal_container()->get('plugin.manager.views.display')->getDefinitions(); + $display_manager = drupal_container()->get('plugin.manager.views.display'); + $display_definitions = $display_manager->getDefinitions(); foreach (array_merge($changes['create'], $changes['change']) as $name) { if (strpos($name, 'views.view') === 0) { @@ -500,7 +501,7 @@ function views_config_import_validate($changes, $source_storage, $target_storage throw new ConfigImportInvalidChangeException('View has no displays.'); } foreach ($displays as $display) { - if (!isset($display_defintions[$display['display_plugin']])) { + if (!isset($display_definitions[$display['display_plugin']]) || !is_object($display_manager->createInstance($display['display_plugin']))) { throw new ConfigImportInvalidChangeException('View display plugin cannot be found.'); } }