From: Daniel Kirschten Date: Sun, 11 Oct 2020 22:06:03 +0000 (+0200) Subject: Fixed another bug in DelegatingSubcomponentHighLevelStateHandler X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=2c32f5e4b0549a6b97a32cc96a36971c495ce11d Fixed another bug in DelegatingSubcomponentHighLevelStateHandler --- diff --git a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java index a7f2c817..295be02e 100644 --- a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java +++ b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java @@ -52,13 +52,13 @@ public class DelegatingSubcomponentHighLevelStateHandler implements Subcomponent public void setDelegateTarget(ModelComponent delegateTarget) { - if (delegateTarget == null) + if (delegateTarget == null || delegateTarget == parentComponent) this.delegateTarget = parentComponent; - else if (delegateTarget != parentComponent - && parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget) + else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) == delegateTarget) + this.delegateTarget = delegateTarget; + else throw new IllegalArgumentException( "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; } public ModelComponent getDelegateTarget()