WeakArray.st
changeset 20955 fc48f6ef7556
parent 20813 153e2c2da4cf
child 21024 8734987eb5c7
child 21440 f4962d3c833a
--- a/WeakArray.st	Fri Nov 11 17:21:15 2016 +0100
+++ b/WeakArray.st	Fri Nov 11 17:22:50 2016 +0100
@@ -474,31 +474,34 @@
 
     wasBlocked := OperatingSystem blockInterrupts.
     [
-	|deps sz dep|
+        |deps sz dep|
 
-	deps := dependents.
-	deps notNil ifTrue:[
-	    deps isCollection ifTrue:[
-		deps remove:anObject ifAbsent:[].
-		(sz := deps size) == 0 ifTrue:[
-		    dependents := nil
-		] ifFalse:[
-		    sz == 1 ifTrue:[
-			(dep := deps first) isCollection ifFalse:[
-			    dependents := dep
-			]
-		    ]
-		]
-	    ] ifFalse:[
-		deps == anObject ifTrue:[
-		    dependents := nil
-		]
-	    ]
-	]
+        deps := dependents.
+        deps notNil ifTrue:[
+            deps isCollection ifTrue:[
+                dep := deps remove:anObject ifAbsent:[].
+                "if dep is nil, nothing has changed"
+                dep notNil ifTrue:[
+                    (sz := deps size) == 0 ifTrue:[
+                        dependents := nil
+                    ] ifFalse:[
+                        sz == 1 ifTrue:[
+                            (dep := deps first) isCollection ifFalse:[
+                                dependents := dep
+                            ]
+                        ]
+                    ].
+                ].
+            ] ifFalse:[
+                deps == anObject ifTrue:[
+                    dependents := nil
+                ]
+            ]
+        ]
     ] ensure:[
-	wasBlocked ifFalse:[
-	    OperatingSystem unblockInterrupts
-	]
+        wasBlocked ifFalse:[
+            OperatingSystem unblockInterrupts
+        ]
     ]
 ! !