#BUGFIX by cg
authorClaus Gittinger <cg@exept.de>
Tue, 22 Nov 2016 04:21:45 +0100
changeset 5975 4512d959e3c3
parent 5974 2c1342bfc0b2
child 5976 7ce7f1eed0cf
#BUGFIX by cg class: DialogBox changed: #withOptoutOption:labelled:andOptoutOption:labelled:do: #withOptoutOption:labelled:do: oops - action might return; must call option actions anyway.
DialogBox.st
--- a/DialogBox.st	Tue Nov 22 04:09:06 2016 +0100
+++ b/DialogBox.st	Tue Nov 22 04:21:45 2016 +0100
@@ -6232,15 +6232,18 @@
 
     optOutHolder1 := false asValue.
     optOutHolder2 := false asValue.
-    Dialog aboutToOpenBoxNotificationSignal handle:[:ex |
-        |box|
-
-        box := ex box.
-        box verticalPanel add:((CheckBox label:labelString1) model:optOutHolder1).
-        box verticalPanel add:((CheckBox label:labelString2) model:optOutHolder2).
-    ] do:boxOpeningBlock.
-    optOutHolder1 value ifTrue:[ optOutAction1 value ].
-    optOutHolder2 value ifTrue:[ optOutAction2 value ].
+    [
+        Dialog aboutToOpenBoxNotificationSignal handle:[:ex |
+            |box|
+
+            box := ex box.
+            box verticalPanel add:((CheckBox label:labelString1) model:optOutHolder1).
+            box verticalPanel add:((CheckBox label:labelString2) model:optOutHolder2).
+        ] do:boxOpeningBlock.
+    ] ensure:[
+        optOutHolder1 value ifTrue:[ optOutAction1 value ].
+        optOutHolder2 value ifTrue:[ optOutAction2 value ].
+    ].
 
     "
      Dialog 
@@ -6250,6 +6253,7 @@
     "
 
     "Created: / 18-11-2016 / 11:26:06 / cg"
+    "Modified: / 22-11-2016 / 04:21:10 / cg"
 !
 
 withOptoutOption:optOutAction labelled:labelString do:boxOpeningBlock
@@ -6260,13 +6264,16 @@
     |holder|
 
     holder := false asValue.
-    Dialog aboutToOpenBoxNotificationSignal handle:[:ex |
-        |box|
-
-        box := ex box.
-        box verticalPanel add:((CheckBox label:labelString) model:holder).
-    ] do:boxOpeningBlock.
-    holder value ifTrue:[optOutAction value]
+    [
+        Dialog aboutToOpenBoxNotificationSignal handle:[:ex |
+            |box|
+
+            box := ex box.
+            box verticalPanel add:((CheckBox label:labelString) model:holder).
+        ] do:boxOpeningBlock.
+    ] ensure:[
+        holder value ifTrue:[optOutAction value]
+    ]
 
     "
      Dialog 
@@ -6275,7 +6282,7 @@
         do:[ Dialog confirm:'some question' ].
     "
 
-    "Modified: / 22-11-2016 / 04:08:48 / cg"
+    "Modified: / 22-11-2016 / 04:20:38 / cg"
 !
 
 withOptoutOption:optOutAction labelled:labelString warn:warnString