summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Hayes <jordan@bitway.com>2011-03-06 11:35:47 -0800
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-03-14 18:28:14 -0700
commit42c611d9f8c80528f6e36ceb0ce245b06e8b1e8e (patch)
treed7c96a64cc0475b3e05595afb0d555fb64104048
parentc16d3cc264c45601f0e59bdd29e438c7c9679721 (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.c8
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);
}