oops - removeDependent: removed the dependent, even if
authorClaus Gittinger <cg@exept.de>
Wed, 08 Jan 1997 23:45:36 +0100
changeset 353 e9071756b6a7
parent 352 ba7970fbcde2
child 354 b4d2ce853c24
oops - removeDependent: removed the dependent, even if the argument wasnt the one. (Model lost dependent, if someone removed an 'invalid' dep)
Model.st
--- a/Model.st	Tue Dec 31 15:01:08 1996 +0100
+++ b/Model.st	Wed Jan 08 23:45:36 1997 +0100
@@ -17,7 +17,7 @@
 	category:'Interface-Support-Models'
 !
 
-!Model  class methodsFor:'documentation'!
+!Model class methodsFor:'documentation'!
 
 copyright
 "
@@ -98,7 +98,9 @@
             deps isCollection ifTrue:[
                 deps add:anObject
             ] ifFalse:[
-                dependents := IdentitySet with:dependents with:anObject
+                deps == anObject ifFalse:[
+                    dependents := (IdentitySet with:dependents with:anObject)
+                ]
             ]
         ]
     ] valueNowOrOnUnwindDo:[
@@ -107,7 +109,7 @@
         ]
     ]
 
-    "Modified: 19.7.1996 / 12:39:22 / cg"
+    "Modified: 8.1.1997 / 23:40:30 / cg"
 !
 
 dependents
@@ -190,7 +192,9 @@
                     ]
                 ]
             ] ifFalse:[
-                dependents := nil
+                deps == anObject ifTrue:[
+                    dependents := nil
+                ]
             ]
         ]
     ] valueNowOrOnUnwindDo:[
@@ -199,7 +203,7 @@
         ]
     ]
 
-    "Modified: 19.7.1996 / 12:40:59 / cg"
+    "Modified: 8.1.1997 / 23:41:39 / cg"
 ! !
 
 !Model methodsFor:'dependents access (non weak)'!
@@ -245,8 +249,8 @@
     "Created: 19.4.1996 / 12:19:40 / cg"
 ! !
 
-!Model  class methodsFor:'documentation'!
+!Model class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/Model.st,v 1.26 1996-10-14 21:26:28 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/Model.st,v 1.27 1997-01-08 22:45:36 cg Exp $'
 ! !