#valueNowOrOnUnwindDo: -> #ensure:
authorClaus Gittinger <cg@exept.de>
Tue, 26 Feb 2002 14:00:07 +0100
changeset 2083 d7b305aea776
parent 2082 fcb8b7ab1664
child 2084 8aec1132f129
#valueNowOrOnUnwindDo: -> #ensure:
SubCanvas.st
--- a/SubCanvas.st	Wed Feb 20 12:08:03 2002 +0100
+++ b/SubCanvas.st	Tue Feb 26 14:00:07 2002 +0100
@@ -228,66 +228,66 @@
 XXrebuild
     "rebuild
     "
-    |v subSpec savedView builderClass boundsOrLayout|
-
-    superView isNil ifTrue:[
-        lateBuild := true.
-        ^ self
-    ].
-
-    clientView notNil ifTrue:[
-        clientView destroySubViews
-    ].
-
-    spec notNil ifTrue:[
-        (subSpec := spec) isSymbol ifTrue:[
-            client isNil ifTrue:[
-                'SubCanvas [warning]: no client - cannot build spec' infoPrintCR.
-                ^ self
-            ].
-            (subSpec := client class interfaceSpecFor:spec) isNil ifTrue:[
-                "/ Transcript showCR:'SubCanvas: nil spec'.
-                ^ self
-            ]
-        ].
-
-        builder isNil ifTrue:[
-            client isNil ifTrue:[
-                builderClass := UIBuilder
-            ] ifFalse:[
-                builderClass := client builderClass
-            ].
-            builder := builderClass new.
-        ].
-
-        "/ old:
-"/         builder buildFromSpec:subSpec in:clientView.
-
-        "/ new (let app know (somehow) that this is a build
-        "/ for a subcanvas (i.e. it can redefine the buildSubCanvase-method
-        "/:
-        savedView := builder window.
-        builder window:clientView.
-        [
-            client buildSubCanvas:subSpec withBuilder:builder.
-        ] valueNowOrOnUnwindDo:[
-            builder window:savedView.
-        ].
-        clientViewIsScrolled ifTrue:[
-            boundsOrLayout := builder spec window layout.
-            boundsOrLayout isNil ifTrue:[
-                 boundsOrLayout := builder spec window bounds
-            ].
-            clientView
-                extent:(boundsOrLayout rectangleRelativeTo:self bounds preferred:nil) extent.
-        ].
-
-        self realized ifTrue:[
-            clientView realizeAllSubViews
-        ]
-    ]
-
-    "Modified: / 20.6.1998 / 14:29:00 / cg"
+"/    | subSpec savedView builderClass boundsOrLayout|
+"/
+"/    superView isNil ifTrue:[
+"/        lateBuild := true.
+"/        ^ self
+"/    ].
+"/
+"/    clientView notNil ifTrue:[
+"/        clientView destroySubViews
+"/    ].
+"/
+"/    spec notNil ifTrue:[
+"/        (subSpec := spec) isSymbol ifTrue:[
+"/            client isNil ifTrue:[
+"/                'SubCanvas [warning]: no client - cannot build spec' infoPrintCR.
+"/                ^ self
+"/            ].
+"/            (subSpec := client class interfaceSpecFor:spec) isNil ifTrue:[
+"/                "/ Transcript showCR:'SubCanvas: nil spec'.
+"/                ^ self
+"/            ]
+"/        ].
+"/
+"/        builder isNil ifTrue:[
+"/            client isNil ifTrue:[
+"/                builderClass := UIBuilder
+"/            ] ifFalse:[
+"/                builderClass := client builderClass
+"/            ].
+"/            builder := builderClass new.
+"/        ].
+"/
+"/        "/ old:
+"/"/         builder buildFromSpec:subSpec in:clientView.
+"/
+"/        "/ new (let app know (somehow) that this is a build
+"/        "/ for a subcanvas (i.e. it can redefine the buildSubCanvase-method
+"/        "/:
+"/        savedView := builder window.
+"/        builder window:clientView.
+"/        [
+"/            client buildSubCanvas:subSpec withBuilder:builder.
+"/        ] ensure:[
+"/            builder window:savedView.
+"/        ].
+"/        clientViewIsScrolled ifTrue:[
+"/            boundsOrLayout := builder spec window layout.
+"/            boundsOrLayout isNil ifTrue:[
+"/                 boundsOrLayout := builder spec window bounds
+"/            ].
+"/            clientView
+"/                extent:(boundsOrLayout rectangleRelativeTo:self bounds preferred:nil) extent.
+"/        ].
+"/
+"/        self realized ifTrue:[
+"/            clientView realizeAllSubViews
+"/        ]
+"/    ]
+"/
+"/    "Modified: / 20.6.1998 / 14:29:00 / cg"
 !
 
 container:aView
@@ -306,7 +306,7 @@
 rebuild
     "rebuild
     "
-    |v subSpec savedView savedBuilder builderClass|
+    | subSpec savedView savedBuilder builderClass|
 
     "/ if the superView is not yet created,
     "/ we MUST delay building... (sigh)
@@ -395,7 +395,7 @@
                     self scrolledView:clientView.
                 ]
             ]
-        ] valueNowOrOnUnwindDo:[
+        ] ensure:[
             savedView notNil ifTrue:[
                 builder window:savedView.
             ].
@@ -547,5 +547,5 @@
 !SubCanvas class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/SubCanvas.st,v 1.41 2001-02-08 21:53:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/SubCanvas.st,v 1.42 2002-02-26 13:00:07 cg Exp $'
 ! !