DeviceWorkstation.st
changeset 353 5be3ae3c8838
parent 349 507a573eba58
child 354 c409eb59bcb3
--- a/DeviceWorkstation.st	Sat Jan 06 16:01:52 1996 +0100
+++ b/DeviceWorkstation.st	Sun Jan 07 14:29:38 1996 +0100
@@ -2102,13 +2102,18 @@
      This ends the dispatcher process when the last view is closed on that device.
      We only do this for displays other that the default Display."
 
+    "/ claus:
+    "/ I disabled this - there are times when no views
+    "/ are present, but a new one is soon to be opened
+    "/ Its better to keep the event dispatcher alive ...
+
     self == Display ifTrue:[^ self].
 
     knownViews notNil ifTrue:[
-	(knownViews findFirst:[:slot | slot notNil]) == 0 ifTrue:[
-	    "/ my last view was closed
-	    dispatching := false
-	]
+        (knownViews findFirst:[:slot | slot notNil]) == 0 ifTrue:[
+            "/ my last view was closed
+            dispatching := false
+        ]
     ]
 
     "Modified: 19.9.1995 / 11:31:54 / claus"
@@ -2279,7 +2284,7 @@
 				     dispatching ifTrue:[
 					 [self eventPending] whileTrue:[
 					     self dispatchPendingEvents.
-					     self checkForEndOfDispatch.
+					     "/ self checkForEndOfDispatch.
 					 ].
 					 dispatching ifFalse:[
 					     Processor disableFd:fd.
@@ -2309,7 +2314,7 @@
 		    ].
 
 		    self dispatchPendingEvents.
-		    self checkForEndOfDispatch.
+		    "/ self checkForEndOfDispatch.
 		]
 	    ].
 	    Processor disableSemaphore:inputSema.
@@ -2326,7 +2331,7 @@
 	    nm := 'event dispatcher'.
 	].
 	p name:nm.
-	Processor signal:inputSema onInput:fd orCheck:[self eventQueued].
+	Processor signal:inputSema onInput:fd orCheck:[self eventPending].
 	dispatchProcess := p.
     ]
 
@@ -3719,6 +3724,6 @@
 !DeviceWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.64 1996-01-03 19:34:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.65 1996-01-07 13:29:29 cg Exp $'
 ! !
 DeviceWorkstation initialize!