From 2c32f5e4b0549a6b97a32cc96a36971c495ce11d Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Mon, 12 Oct 2020 00:06:03 +0200 Subject: [PATCH] Fixed another bug in DelegatingSubcomponentHighLevelStateHandler --- .../DelegatingSubcomponentHighLevelStateHandler.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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() -- 2.17.1