]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/PipelineComponent.java
Processing DB changes could leave control points unsynchronized
[simantics/3d.git] / org.simantics.plant3d / src / org / simantics / plant3d / scenegraph / PipelineComponent.java
index ad1c2b7a7d210e7c9fd83ae15aab4fa7f4555fb0..7726b203005611c05b89a739b634617018f79295 100644 (file)
@@ -145,8 +145,10 @@ public abstract class PipelineComponent extends GeometryNode {
        
        @RelatedSetObj(Plant3D.URIs.HasNext)
        public void setNext(PipelineComponent comp) {
-               if (next == comp)
+               if (next == comp) {
+                   syncNext();
                    return;
+               }
                if (this.next != null)
                    this.next._removeRef(this);
         _setNext(comp);
@@ -170,8 +172,10 @@ public abstract class PipelineComponent extends GeometryNode {
        
        @RelatedSetObj(Plant3D.URIs.HasPrevious)
        public void setPrevious(PipelineComponent comp) {
-               if (previous == comp)
+               if (previous == comp) {
+                   syncPrevious();
                        return;
+               }
                if (this.previous != null)
                        this.previous._removeRef(this);
                _setPrevious(comp);
@@ -196,8 +200,10 @@ public abstract class PipelineComponent extends GeometryNode {
        
        @RelatedSetObj(Plant3D.URIs.HasBranch0)
        public void setBranch0(PipelineComponent comp) {
-               if (branch0 == comp)
+               if (branch0 == comp) {
+                   syncBranch0();
                        return;
+               }
                if (this.branch0 != null)
                        this.branch0._removeRef(this);
                this.branch0 = comp;
@@ -305,7 +311,7 @@ public abstract class PipelineComponent extends GeometryNode {
        }
        
        boolean syncnext = false;
-       private void syncNext() {
+       protected void syncNext() {
                if (syncnext)
                        return;
                syncnext = _syncNext();
@@ -344,7 +350,7 @@ public abstract class PipelineComponent extends GeometryNode {
        }
        
        boolean syncprev = false;
-       private void syncPrevious() {
+       protected void syncPrevious() {
                if (syncprev)
                        return;
                syncprev = _syncPrevious();
@@ -381,7 +387,7 @@ public abstract class PipelineComponent extends GeometryNode {
        }
        
        boolean syncbr0 = false;
-       private void syncBranch0() {
+       protected void syncBranch0() {
                if (syncbr0)
                        return;
                syncbr0 = _syncBranch0();