--- a/DeviceWorkstation.st Mon Aug 23 14:17:22 1999 +0200
+++ b/DeviceWorkstation.st Mon Aug 23 15:06:27 1999 +0200
@@ -23,7 +23,8 @@
shiftModifiers supportsDeepIcons preferredIconSize ditherColors
fixColors numFixRed numFixGreen numFixBlue fixGrayColors
copyBuffer lastCopyBuffer blackColor whiteColor focusMode
- activeView clipBoardEncoding focusView deviceErrorSignal deviceIOErrorSignal'
+ activeView clipBoardEncoding focusView deviceErrorSignal
+ deviceIOErrorSignal'
classVariableNames:'ButtonTranslation MultiClickTimeDelta DeviceErrorSignal
DeviceIOErrorSignal DeviceIOTimeoutErrorSignal ErrorPrinting
DefaultScreen AllScreens CurrentScreenQuerySignal
@@ -3788,7 +3789,7 @@
dispatching := true.
AllScreens isNil ifTrue:[
- AllScreens := IdentitySet new:1
+ AllScreens := IdentitySet new:1
].
AllScreens add:self.
@@ -3804,36 +3805,35 @@
inputSema := Semaphore new name:'display inputSema'.
p := [
- self initializeDeviceResources.
-
- [dispatching] whileTrue:[
- AbortSignal handle:[:ex |
- ex return
- ] do:[
- self eventPending ifFalse:[
- Processor activeProcess setStateTo:#ioWait if:#active.
- inputSema wait.
- ].
-
- self dispatchPendingEvents.
- ]
- ].
- inputSema notNil ifTrue:[
- Processor disableSemaphore:inputSema.
- inputSema := nil.
- ].
- AllScreens remove:self.
- dispatchProcess := nil.
- self close.
+ self initializeDeviceResources.
+
+ [dispatching] whileTrue:[
+ AbortSignal handle:[:ex |
+ ex return
+ ] do:[
+ self eventPending ifFalse:[
+ Processor activeProcess setStateTo:#ioWait if:#active.
+ inputSema wait.
+ ].
+
+ self dispatchPendingEvents.
+ ]
+ ].
+ inputSema notNil ifTrue:[
+ Processor disableSemaphore:inputSema.
+ inputSema := nil.
+ ].
+ dispatchProcess := nil.
+ self close.
] newProcess.
"/
"/ give the process a nice name (for the processMonitor)
"/
(nm := self displayName) notNil ifTrue:[
- nm := 'event dispatcher (' , nm , ')'.
+ nm := 'event dispatcher (' , nm , ')'.
] ifFalse:[
- nm := 'event dispatcher'.
+ nm := 'event dispatcher'.
].
p name:nm.
p priority:(Processor userInterruptPriority).
@@ -4767,7 +4767,9 @@
focusView := activeView := rootView := lastView := nil.
activeKeyboardGrab := activePointerGrab := nil.
-
+ LastActiveScreen == self ifTrue:[
+ LastActiveScreen := nil
+ ].
AllScreens remove:self ifAbsent:nil.
"Modified: 16.1.1997 / 19:34:11 / cg"
@@ -6481,6 +6483,6 @@
!DeviceWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.317 1999-08-23 12:00:58 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.318 1999-08-23 13:06:27 cg Exp $'
! !
DeviceWorkstation initialize!