From 838fdc7f6a574590e6261f41246336a692c5d403 Mon Sep 17 00:00:00 2001
From: dench0 <dench0@896504.no-reply.drupal.org>
Date: Wed, 13 Jul 2022 08:36:02 +0000
Subject: [PATCH] Issue #3262863: setHierarchy method causing the fatal error
 on facets settings form submission

---
 src/Form/FacetForm.php | 60 ++++++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 28 deletions(-)

diff --git a/src/Form/FacetForm.php b/src/Form/FacetForm.php
index ea9a24cf..cff300c3 100644
--- a/src/Form/FacetForm.php
+++ b/src/Form/FacetForm.php
@@ -807,39 +807,43 @@ class FacetForm extends EntityForm {
     ));
 
     $facet->setHardLimit($form_state->getValue(['facet_settings', 'hard_limit']));
-
     $facet->setExclude($form_state->getValue(['facet_settings', 'exclude']));
-    $facet->setUseHierarchy($form_state->getValue(
+    
+    $facet_uses_hierarchy = $form_state->getValue(
       [
         'facet_settings',
         'use_hierarchy',
       ]
-    ));
-    $facet->setKeepHierarchyParentsActive($form_state->getValue(
-      [
-        'facet_settings',
-        'keep_hierarchy_parents_active',
-      ]
-    ));
-    $hierarchy_id = $form_state->getValue(['facet_settings', 'hierarchy']);
-    $facet->setHierarchy($hierarchy_id, $form_state->getValue(
-      [
-        'facet_settings',
-        $hierarchy_id,
-      ]
-    ));
-    $facet->setExpandHierarchy($form_state->getValue(
-      [
-        'facet_settings',
-        'expand_hierarchy',
-      ]
-    ));
-    $facet->setEnableParentWhenChildGetsDisabled($form_state->getValue(
-      [
-        'facet_settings',
-        'enable_parent_when_child_gets_disabled',
-      ]
-    ));
+    );
+    $facet->setUseHierarchy($facet_uses_hierarchy);
+    if ($facet_uses_hierarchy) {
+      $facet->setKeepHierarchyParentsActive($form_state->getValue(
+        [
+          'facet_settings',
+          'keep_hierarchy_parents_active',
+        ]
+      ));
+      $hierarchy_id = $form_state->getValue(['facet_settings', 'hierarchy']);
+      $facet->setHierarchy($hierarchy_id, $form_state->getValue(
+        [
+          'facet_settings',
+          $hierarchy_id,
+        ]
+      ));
+      $facet->setExpandHierarchy($form_state->getValue(
+        [
+          'facet_settings',
+          'expand_hierarchy',
+        ]
+      ));
+      $facet->setEnableParentWhenChildGetsDisabled($form_state->getValue(
+        [
+          'facet_settings',
+          'enable_parent_when_child_gets_disabled',
+        ]
+      ));
+    }
+
     $facet->set('show_title', $form_state->getValue(
       [
         'facet_settings',
-- 
GitLab