]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/AbstractVTKNodeMap.java
Data corruption on editor startup.
[simantics/3d.git] / org.simantics.g3d.vtk / src / org / simantics / g3d / vtk / common / AbstractVTKNodeMap.java
index b762200786217a0434515a068a8d0f89cbe222e6..efb4c07b151d95b4ee336984f861c8dc094de69c 100644 (file)
@@ -50,7 +50,7 @@ import vtk.vtkProp;
 
 public abstract class AbstractVTKNodeMap<E extends INode> implements VTKNodeMap<E>, IMappingListener, RenderListener, NodeListener, UndoRedoSupport.ChangeListener{
 
-       private static final boolean DEBUG = true;
+       private static final boolean DEBUG = false;
        
        protected Session session;
        protected IMapping<Object,E> mapping;
@@ -143,6 +143,10 @@ public abstract class AbstractVTKNodeMap<E extends INode> implements VTKNodeMap<
 
        private boolean rangeModified = false;
        
+       public boolean isRangeModified() {
+        return rangeModified;
+    }
+       
        @Override
        public void onChanged() {
                try {
@@ -456,7 +460,10 @@ public abstract class AbstractVTKNodeMap<E extends INode> implements VTKNodeMap<
                    E n = stack.pop();
                    boolean conflict = filterChange(removed, n);
                    if (conflict) {
-                       filterChange(added, n);   
+                       System.out.println("Prevent removing " + n);
+                       //filterChange(added, n)
+                       if (filterChange(added, n))
+                           System.out.println("Prevent adding " + n);
                    }
                    if (n instanceof ParentNode) {
                        ParentNode<INode> pn = (ParentNode<INode>)n;