diff options
author | Sven Gothel <[email protected]> | 2010-04-22 23:36:38 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-04-22 23:36:38 +0200 |
commit | c5513ba4d6a29cdc9f25863a8d6951beaae97409 (patch) | |
tree | 7b64f274a3069f39caf3942924b62e714d9fddee /src | |
parent | 012fca06f2539db232f0183f72187ec2f8ca54f5 (diff) |
Newt.X11:XEventsQueued: QueuedAlready doesn't work on ATI - use QueuedAfterFlush
Diffstat (limited to 'src')
-rwxr-xr-x | src/newt/native/X11Window.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/newt/native/X11Window.c b/src/newt/native/X11Window.c index 75237a210..27ca8e6a0 100755 --- a/src/newt/native/X11Window.c +++ b/src/newt/native/X11Window.c @@ -291,7 +291,7 @@ JNIEXPORT void JNICALL Java_com_jogamp_newt_x11_X11Display_LockDisplay _FatalError(env, "invalid display connection.."); } XLockDisplay(dpy) ; - DBG_PRINT1( "X11: LockDisplay 0x%X\n", dpy); + // DBG_PRINT1( "X11: LockDisplay 0x%X\n", dpy); } @@ -308,7 +308,7 @@ JNIEXPORT void JNICALL Java_com_jogamp_newt_x11_X11Display_UnlockDisplay _FatalError(env, "invalid display connection.."); } XUnlockDisplay(dpy) ; - DBG_PRINT1( "X11: UnlockDisplay 0x%X\n", dpy); + // DBG_PRINT1( "X11: UnlockDisplay 0x%X\n", dpy); } @@ -447,10 +447,12 @@ JNIEXPORT void JNICALL Java_com_jogamp_newt_x11_X11Display_DispatchMessages XLockDisplay(dpy) ; - // num_events = XPending(dpy); // XEventsQueued(dpy, QueuedAfterFlush); // I/O Flush .. - // num_events = XEventsQueued(dpy, QueuedAlready); // Better, no I/O .. - if ( 0 >= XEventsQueued(dpy, QueuedAlready) ) { + // num_events = XPending(dpy); // I/O Flush .. + // num_events = XEventsQueued(dpy, QueuedAfterFlush); // I/O Flush only of no already queued events are available + // num_events = XEventsQueued(dpy, QueuedAlready); // no I/O Flush at all, doesn't work on some cards (eg ATI) + if ( 0 >= XEventsQueued(dpy, QueuedAfterFlush) ) { XUnlockDisplay(dpy) ; + // DBG_PRINT1( "X11: DispatchMessages 0x%X - Leave 1\n", dpy); return; } @@ -477,6 +479,7 @@ JNIEXPORT void JNICALL Java_com_jogamp_newt_x11_X11Display_DispatchMessages fprintf(stderr, "Warning: NEWT X11 DisplayDispatch %p, Couldn't handle event %d for invalid X11 window %p\n", dpy, evt.type, evt.xany.window); XUnlockDisplay(dpy) ; + // DBG_PRINT1( "X11: DispatchMessages 0x%X - Leave 2\n", dpy); return; } @@ -494,6 +497,7 @@ JNIEXPORT void JNICALL Java_com_jogamp_newt_x11_X11Display_DispatchMessages } XUnlockDisplay(dpy) ; + // DBG_PRINT3( "X11: DispatchMessages 0x%X - Window %p, Event %d\n", dpy, jwindow, evt.type); switch(evt.type) { case ButtonPress: |