--- a/DeviceWorkstation.st Wed Sep 08 12:17:28 2004 +0200
+++ b/DeviceWorkstation.st Wed Sep 08 14:17:40 2004 +0200
@@ -621,7 +621,7 @@
].
msg := 'Display error: ' , self lastErrorString.
]].
- 'DeviceWorkstation [info]: ' infoPrint. msg infoPrint. ' - ' infoPrint. badResource printString infoPrintCR.
+ 'DeviceWorkstation [info]: ' infoPrint. msg infoPrint. ' - ' infoPrint. badResource infoPrintCR.
"interrupt that displays dispatch process
@@ -633,7 +633,7 @@
(errID ~~ #DisplayIOTimeoutError and:[theDevice notNil]) ifTrue:[
p := theDevice dispatchProcess.
(p notNil and:[p ~~ Processor activeProcess]) ifTrue:[
- 'DeviceWorkstation [info]: interrupting: ' infoPrint. p displayString infoPrintCR.
+ 'DeviceWorkstation [info]: interrupting: ' infoPrint. p infoPrintCR.
p interruptWith:[
errID == #DisplayError ifTrue:[
"unhandled display errors are ignored"
@@ -4003,28 +4003,29 @@
dispatching ifFalse:[^ self].
self == Display ifTrue:[
- ExitOnLastClose == true ifFalse:[^ self].
+ ExitOnLastClose == true ifFalse:[^ self].
].
exitOnLastClose == true ifFalse:[^ self].
knownViews notNil ifTrue:[
- (knownViews findFirst:[:slot |
- slot notNil
- and:[slot ~~ 0 "/ if there is no non-popup
- and:[slot isRootView not "/ non-dialog ...
- and:[slot isTopView "/ stop dispatching.
- and:[slot isPopUpView not
- and:[slot isModal not
- "and:[slot realized]"]]]]]]) == 0 ifTrue:[
- "/ my last view was closed
- dispatching := false.
- 'DeviceWorkstation [info]: finished dispatch (last view closed)' infoPrintCR.
- LastActiveScreen == self ifTrue:[
- LastActiveScreen := nil.
- LastActiveProcess := nil.
- ].
- eventSema notNil ifTrue:[eventSema signal]. "/ get dispatchLoop out of its wait...
- ]
+ (knownViews findFirst:[:slot |
+ slot notNil
+ and:[slot ~~ 0 "/ if there is no non-popup
+ and:[slot isRootView not "/ non-dialog ...
+ and:[slot isTopView "/ stop dispatching.
+ and:[slot isPopUpView not
+ and:[slot isModal not
+ "and:[slot realized]"]]]]]]) == 0 ifTrue:[
+ "/ my last view was closed
+ dispatching := false.
+ 'DeviceWorkstation [info]: finished dispatch (last view closed): ' infoPrint.
+ self infoPrintCR.
+ LastActiveScreen == self ifTrue:[
+ LastActiveScreen := nil.
+ LastActiveProcess := nil.
+ ].
+ eventSema notNil ifTrue:[eventSema signal]. "/ get dispatchLoop out of its wait...
+ ]
].
"Modified: 19.9.1995 / 11:31:54 / claus"
@@ -4073,17 +4074,17 @@
"the actual event dispatching loop."
[dispatching] whileTrue:[
- AbortSignal handle:[:ex |
- ex return
- ] do:[
- self eventPending ifFalse:[
- Processor activeProcess setStateTo:#ioWait if:#active.
- eventSema wait.
- ].
- dispatching ifTrue:[
- self dispatchPendingEvents.
- ].
- ]
+ AbortOperationRequest handle:[:ex |
+ ex return
+ ] do:[
+ self eventPending ifFalse:[
+ Processor activeProcess setStateTo:#ioWait if:#active.
+ eventSema wait.
+ ].
+ dispatching ifTrue:[
+ self dispatchPendingEvents.
+ ].
+ ]
]
!
@@ -4257,7 +4258,8 @@
ObjectMemory snapShotOn:'crash.img'.
Smalltalk exit.
].
- 'DeviceWorkstation [warning]: stop dispatch due to I/O error' errorPrintCR.
+ 'DeviceWorkstation [warning]: stop dispatch due to I/O error: ' errorPrint.
+ self errorPrintCR.
self brokenConnection.
].
ex return.
@@ -5307,8 +5309,8 @@
prevKnownViews do:[:aView |
(aView notNil and:[aView ~~ 0]) ifTrue:[
"have to re-create the view"
- UserInterruptSignal catch:[
- AbortSignal catch:[
+ UserInterrupt catch:[
+ AbortOperationRequest catch:[
GraphicsContext drawingOnClosedDrawableSignal handle:[:ex |
'DeviceWorkstation [warning]: drawing attempt on closed drawable during reinit' errorPrintCR.
ex return
@@ -7414,7 +7416,7 @@
!DeviceWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.469 2004-09-07 14:50:21 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.470 2004-09-08 12:17:40 stefan Exp $'
! !
DeviceWorkstation initialize!