changed:
#eventLoopWhile:onLeave:
#initialize
comments, more readable variable names
--- 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!