Revision: 3697
Author: [email protected]
Date: Thu Jul  8 14:01:17 2010
Log: Changed CriticGrouping so that it sets its child CriticAndSettings parent pointer to null when it is removed through the removeChildImpl call.
http://code.google.com/p/power-architect/source/detail?r=3697

Modified:
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticAndSettings.java
 /trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticGrouping.java

=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticAndSettings.java Wed Jun 30 14:35:34 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticAndSettings.java Thu Jul 8 14:01:17 2010
@@ -235,7 +235,7 @@
     @Mutator
     @Override
     public void setParent(SPObject parent) {
-        if (!(parent instanceof CriticGrouping)) {
+        if (parent != null && !(parent instanceof CriticGrouping)) {
throw new IllegalArgumentException("The parent of a critic must be a CriticGrouping.");
         }
         super.setParent(parent);
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticGrouping.java Mon Jul 5 15:06:27 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticGrouping.java Thu Jul 8 14:01:17 2010
@@ -101,6 +101,7 @@
         boolean removed = settings.remove(child);
         if (removed) {
             fireChildRemoved(CriticAndSettings.class, child, index);
+            child.setParent(null);
         }
         return removed;
     }

Reply via email to