--- a/UIObjectView.st Mon Feb 25 21:02:03 2002 +0100
+++ b/UIObjectView.st Tue Feb 26 13:59:45 2002 +0100
@@ -1268,25 +1268,24 @@
|coll|
selectionHiddenLevel == 0 ifTrue:[
- self hideSelection.
- device flush.
+ self hideSelection.
+ device flush.
].
selectionHiddenLevel := selectionHiddenLevel + 1.
- aBlock valueNowOrOnUnwindDo:[
- selectionHiddenLevel == 1 ifTrue:[
- setOfSuperViewsSizeChanged notEmpty ifTrue:[
- coll := self minSetOfSuperViews:setOfSuperViewsSizeChanged.
- coll do:[:aView| aView sizeChanged:nil].
- setOfSuperViewsSizeChanged := IdentitySet new
- ].
- selectionHiddenLevel := 0.
- self selectionDo:[:aView| self showSelected:aView].
- ] ifFalse:[
- selectionHiddenLevel := selectionHiddenLevel - 1.
- ]
+ aBlock ensure:[
+ selectionHiddenLevel == 1 ifTrue:[
+ setOfSuperViewsSizeChanged notEmpty ifTrue:[
+ coll := self minSetOfSuperViews:setOfSuperViewsSizeChanged.
+ coll do:[:aView| aView sizeChanged:nil].
+ setOfSuperViewsSizeChanged := IdentitySet new
+ ].
+ selectionHiddenLevel := 0.
+ self selectionDo:[:aView| self showSelected:aView].
+ ] ifFalse:[
+ selectionHiddenLevel := selectionHiddenLevel - 1.
+ ]
]
-
!
withoutSelectionDo:aBlock