]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/CompositeImage.java
Potential fix for diagram scene graph screw-up regression
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / adapter / CompositeImage.java
index b8a5daa2681f7b739fcf42efc9414f918b32f761..d4e20230185f18ae59c94824132ed88b401a772f 100644 (file)
@@ -155,8 +155,11 @@ public class CompositeImage implements Image {
     private G2DParentNode getOrCreateParentNode(G2DParentNode parent) {
         G2DParentNode node = (G2DParentNode)parent.getNode("composite_image_"+this.hashCode());
         if (node == null) {
-            for (INode n : parent.getNodes())
-                n.remove();
+            for (INode n : parent.getNodes()) {
+                // #7663: prevent the code from removing other element graphics from directly under another element
+                if (!(n instanceof SingleElementNode))
+                    n.remove();
+            }
             // Removed this grouping node as unnecessary, just use the given parent node
             node = parent.getOrCreateNode("composite_image_"+this.hashCode(), G2DParentNode.class);
         }