diff --git a/TULIP/src/lu/list/itis/dkd/tui/space/SpatialPositioningManager.java b/TULIP/src/lu/list/itis/dkd/tui/space/SpatialPositioningManager.java index d2c7e5c7750214dae0e4eda85f8cf9b2ccb02daf..f028777bef655a564f90d80cc7159dac24b31acf 100644 --- a/TULIP/src/lu/list/itis/dkd/tui/space/SpatialPositioningManager.java +++ b/TULIP/src/lu/list/itis/dkd/tui/space/SpatialPositioningManager.java @@ -260,13 +260,14 @@ public class SpatialPositioningManager implements SpatialEventListener { return null; } - for (TangibleObject object : spatialMatrix.getHorizontal()) { - BaseWidget widget = TangibleObjectManager.getWidget(object.getObjectId()); - if (widget.getClass().equals(_class)) { - return (T) widget; + synchronized (this) { + for (TangibleObject object : new ArrayList<>(spatialMatrix.getHorizontal())) { + BaseWidget widget = TangibleObjectManager.getWidget(object.getObjectId()); + if (widget.getClass().equals(_class)) { + return (T) widget; + } } } - return null; }