From 5c86fdb189024daf77abcaafbc4b43f74377373d Mon Sep 17 00:00:00 2001
From: owenbush <owenbush@2765259.no-reply.drupal.org>
Date: Fri, 18 Oct 2019 14:46:01 -0600
Subject: [PATCH] Issue #3085952 by owenbush, achoura: Prevent circular
 dependency when selecting a destination field

---
 src/Form/FieldInheritanceForm.php | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/Form/FieldInheritanceForm.php b/src/Form/FieldInheritanceForm.php
index b1509bb2..b5d7fa16 100644
--- a/src/Form/FieldInheritanceForm.php
+++ b/src/Form/FieldInheritanceForm.php
@@ -129,6 +129,12 @@ class FieldInheritanceForm extends EntityForm {
     $instance_fields = array_keys($this->entityFieldManager->getFieldDefinitions('eventinstance', 'eventinstance'));
     $instance_fields = array_combine($instance_fields, $instance_fields);
 
+    // You should never be able to use the inherited field as part of an
+    // inheritance as that creates an infinite loop.
+    if (!empty($field_inheritance->id()) && !empty($instance_fields[$field_inheritance->id()])) {
+      unset($instance_fields[$field_inheritance->id()]);
+    }
+
     $form['entityField'] = [
       '#type' => 'select',
       '#title' => $this->t('Entity/Instance Field'),
-- 
GitLab