--- a/XWorkstation.st Tue Jan 05 15:39:22 2016 +0100
+++ b/XWorkstation.st Fri Jan 15 13:11:20 2016 +0000
@@ -5641,12 +5641,10 @@
"/ where eventPending returns wrong if we do not flush the buffer.
"/ (especially Win32 & Xlib)
- ConservativeSync == true ifTrue:[self sync].
-
dispatchingExpose notNil ifTrue:[
- ^ self exposeEventPendingFor:dispatchingExpose withSync:false
- ].
- ^ self eventPendingWithSync:false
+ ^ self exposeEventPendingFor:dispatchingExpose withSync:ConservativeSync
+ ].
+ ^ self eventPendingWithSync:ConservativeSync
"Modified: / 28.4.1999 / 11:08:12 / cg"
!
@@ -5701,20 +5699,20 @@
OBJ rslt = false;
if (ISCONNECTED) {
- Display *dpy = myDpy;
-
- if (XEventsQueued(dpy, QueuedAlready)) {
- RETURN (true);
- }
-
- ENTER_XLIB();
- if (doSync == true) {
- XSync(dpy, 0); /* make certain everything is flushed */
- }
- if (XPending(dpy)) {
- rslt = true;
- }
- LEAVE_XLIB();
+ Display *dpy = myDpy;
+
+ if (XEventsQueued(dpy, QueuedAlready)) {
+ RETURN (true);
+ }
+
+ ENTER_XLIB();
+ if (doSync == true) {
+ XSync(dpy, 0); /* make certain everything is flushed */
+ }
+ if (XEventsQueued(dpy, QueuedAfterFlush)) {
+ rslt = true;
+ }
+ LEAVE_XLIB();
}
RETURN ( rslt );
%}
@@ -5738,17 +5736,12 @@
the display connection)."
%{ /* UNLIMITEDSTACK */
- OBJ rslt = false;
-
if (ISCONNECTED) {
- /* ENTER ... LEAVE not needed; XEventsQueued will not block */
- /* ENTER_XLIB(); */
- if (XEventsQueued(myDpy, QueuedAlready)) {
- rslt = true;
- }
- /* LEAVE_XLIB(); */
- }
- RETURN ( rslt );
+ if (XEventsQueued(myDpy, QueuedAlready)) {
+ RETURN(true);
+ }
+ }
+ RETURN ( false );
%}
!