diff options
author | Jordan Hayes <jordan@bitway.com> | 2011-03-06 11:35:47 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-03-14 18:28:14 -0700 |
commit | 42c611d9f8c80528f6e36ceb0ce245b06e8b1e8e (patch) | |
tree | d7c96a64cc0475b3e05595afb0d555fb64104048 | |
parent | c16d3cc264c45601f0e59bdd29e438c7c9679721 (diff) |
Bug 34715: XtAppMainLoop doesn't work without a Display
https://bugs.freedesktop.org/show_bug.cgi?id=34715
XtAppNextEvent() doesn't return until there's an actual XEvent to be
handled; it handles Xt-internal events (inputs, timers, signals)
itself, but doesn't return (because of course, those aren't XEvents).
Which means that the exit flag doesn't get a chance to break the loop
until/unless there's an actual XEvent.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | src/Event.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/Event.c b/src/Event.c index 7be5987..11823d6 100644 --- a/src/Event.c +++ b/src/Event.c @@ -1549,15 +1549,9 @@ void XtMainLoop(void) void XtAppMainLoop( XtAppContext app) { - XEvent event; - LOCK_APP(app); do { - XtAppNextEvent(app, &event); -#ifdef XTHREADS - /* assert(app == XtDisplayToApplicationContext(event.xany.display)); */ -#endif - XtDispatchEvent(&event); + XtAppProcessEvent(app, XtIMAll); } while(app->exit_flag == FALSE); UNLOCK_APP(app); } |