From e13e5590edf6be489da5b06c2500e9b07e7a5ee7 Mon Sep 17 00:00:00 2001 From: Lee Rowlands Date: Thu, 9 Sep 2021 10:00:01 +1000 Subject: [PATCH] Issue #3104980 by danflanagan8, acbramley: layout_builder_system_breadcrumb_alter doesn't check for a null route object (cherry picked from commit ef493a71d5e4a74e8809a3a778985df08d48d4bf) --- .../layout_builder/layout_builder.module | 2 +- .../LayoutBuilderBreadcrumbAlterTest.php | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBreadcrumbAlterTest.php diff --git a/core/modules/layout_builder/layout_builder.module b/core/modules/layout_builder/layout_builder.module index 4631de2547c..4553f0cada2 100644 --- a/core/modules/layout_builder/layout_builder.module +++ b/core/modules/layout_builder/layout_builder.module @@ -334,7 +334,7 @@ function layout_builder_plugin_filter_layout_alter(array &$definitions, array $e */ function layout_builder_system_breadcrumb_alter(Breadcrumb &$breadcrumb, RouteMatchInterface $route_match, array $context) { // Remove the extra 'Manage display' breadcrumb for Layout Builder defaults. - if ($route_match->getRouteObject()->hasOption('_layout_builder') && $route_match->getParameter('section_storage_type') === 'defaults') { + if ($route_match->getRouteObject() && $route_match->getRouteObject()->hasOption('_layout_builder') && $route_match->getParameter('section_storage_type') === 'defaults') { $links = array_filter($breadcrumb->getLinks(), function (Link $link) use ($route_match) { $entity_type_id = $route_match->getParameter('entity_type_id'); if (!$link->getUrl()->isRouted()) { diff --git a/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBreadcrumbAlterTest.php b/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBreadcrumbAlterTest.php new file mode 100644 index 00000000000..113adc2576d --- /dev/null +++ b/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBreadcrumbAlterTest.php @@ -0,0 +1,33 @@ +