Fixed a bug in DelegatingSubcomponentHighLevelStateHandler
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Sun, 11 Oct 2020 21:46:33 +0000 (23:46 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Sun, 11 Oct 2020 21:46:33 +0000 (23:46 +0200)
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java

index 6557787..a7f2c81 100644 (file)
@@ -54,9 +54,10 @@ public class DelegatingSubcomponentHighLevelStateHandler implements Subcomponent
        {
                if (delegateTarget == null)
                        this.delegateTarget = parentComponent;
-               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
+               else if (delegateTarget != parentComponent
+                               && parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
                        throw new IllegalArgumentException(
-                                       "Can only set components belonging to the submodel of the parent component of this handler as the delegate target");
+                                       "Can only set components belonging to the submodel of the parent component of this handler or the parent component itself as the delegate target");
                this.delegateTarget = delegateTarget;
        }