WindowGroup.st
changeset 5520 2711e254f54c
parent 5518 8f69e48c8568
child 5569 25b945e9c1f5
--- a/WindowGroup.st	Wed Nov 11 20:57:40 2009 +0100
+++ b/WindowGroup.st	Thu Nov 12 14:42:43 2009 +0100
@@ -1258,24 +1258,23 @@
         ActivityNotifications send a #showActivity: if nonModal, 
         otherwise they are ignored."
 
-    |thisProcess sigs mainSema|
+    |thisProcess signalsToHandle|
 
     thisProcess := Processor activeProcess.
 
-    sigs := SignalSet
-                "/ with:AbortAllOperationRequest 
+    signalsToHandle := SignalSet
                 with:LeaveSignal 
                 with:ActivityNotification.
 
     (isModal not or:[AbortAllOperationRequest isHandled not]) ifTrue:[
-        sigs add:AbortAllOperationRequest
+        signalsToHandle add:AbortAllOperationRequest
     ].
-    doNotCloseOnAbortSignal == true ifTrue:[
-        sigs add:AbortOperationRequest
+    doNotCloseOnAbortSignal ifTrue:[
+        signalsToHandle add:AbortOperationRequest
     ].
 
     [
-        |p g s mainGroup mySema waitSema groupForSema|
+        |p g s mainGroup mySema waitSema mainSema groupForSema|
 
         waitSema := mySema := mySensor eventSemaphore.
 
@@ -1332,20 +1331,13 @@
                 ^ self.
             ].
 
-            sigs handle:[:ex |
+            signalsToHandle handle:[:ex |
                 |theSig|
 
                 theSig := ex signal.
-                (AbortOperationRequest accepts:theSig) ifTrue:[
-                    "/
-                    "/ on abort, stay in loop
-                    "/
-                    ex return
-                ].
                 (AbortAllOperationRequest accepts:theSig) ifTrue:[
-                    "/
-                    "/ on abort, stay in loop
-                    "/
+                    "on AbortAllOperationRequest or AbortOperationRequest, 
+                     stay in loop"
                     ex return
                 ].
                 theSig == LeaveSignal ifTrue:[
@@ -1363,13 +1355,13 @@
                 "/ otherwise show the activityMessage and continue.
                 "/
                 isModal ifTrue:[
-                    (theSig isHandledIn:ex handlerContext sender) ifFalse:[
-                        ex proceedWith:nil.
+                    (theSig isHandledIn:ex handlerContext sender) ifTrue:[
+                        ex reject.
+                        "never reached"
                     ].
-                    ex reject
-                    "never reached"
+                ] ifFalse:[
+                    self showActivity:ex messageText.
                 ].
-                self showActivity:ex messageText.
                 ex proceedWith:nil.
             ] do:[
                 |dev gotSema mainView|
@@ -2240,6 +2232,7 @@
     processPriority := Processor userSchedulingPriority.
     isModal := false.
     isForModalSubview := false.
+    doNotCloseOnAbortSignal := false.
 
     "Modified: 25.1.1997 / 00:20:19 / cg"
 !
@@ -2717,11 +2710,11 @@
 !WindowGroup class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.306 2009-11-11 13:37:49 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.307 2009-11-12 13:42:43 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.306 2009-11-11 13:37:49 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.307 2009-11-12 13:42:43 stefan Exp $'
 ! !
 
 WindowGroup initialize!