--- a/DeviceWorkstation.st Tue May 30 22:29:31 2000 +0200
+++ b/DeviceWorkstation.st Tue May 30 22:31:17 2000 +0200
@@ -541,16 +541,16 @@
theSignal raiseRequestWith:badResource errorString:msg.
] ifFalse:[
theSignal raiseWith:badResource errorString:msg.
- ].
+ ].
].
theDevice notNil ifTrue:[
"/ 'broken connection' printCR.
theDevice brokenConnection.
p == Processor activeProcess ifTrue:[
- "/ this is a DisplayIOTimeoutError
+ "/ this is a DisplayIOError
"/ and I am running in the dispatch process
- "/ and nobody handles theSignal
+ "/ and nobody handles theSignal, so abort the dispatcher
AbortSignal raise.
]
@@ -4044,8 +4044,9 @@
Processor activeProcess setStateTo:#ioWait if:#active.
inputSema wait.
].
-
- self dispatchPendingEvents.
+ dispatching ifTrue:[
+ self dispatchPendingEvents.
+ ].
]
]
] valueOnUnwindDo:[
@@ -4803,8 +4804,9 @@
brokenConnection
"the connection to the display device was lost."
+ dispatching := false.
+ self emergencyCloseConnection.
displayId := nil.
- dispatching := false.
LastActiveScreen == self ifTrue:[
LastActiveScreen := nil.
@@ -6883,6 +6885,6 @@
!DeviceWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.368 2000-04-03 12:42:17 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.369 2000-05-30 20:31:17 stefan Exp $'
! !
DeviceWorkstation initialize!