From b7e84320dced5325bd7f7b4dda917b251e3915ab Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 28 Oct 2012 14:09:04 +0100 Subject: NEWT X11 Display: Ignore events w/ NULL window, instead of throwing a disturbing and fatal RuntimeException --- src/newt/native/X11Event.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/newt/native/X11Event.c') diff --git a/src/newt/native/X11Event.c b/src/newt/native/X11Event.c index 5402ffe34..079203400 100644 --- a/src/newt/native/X11Event.c +++ b/src/newt/native/X11Event.c @@ -33,16 +33,16 @@ void X11EventPoll(JNIEnv *env, jobject obj, Display *dpy, jlong javaObjectAtom, XNextEvent(dpy, &evt); num_events--; - if( 0==evt.xany.window ) { - NewtCommon_throwNewRuntimeException(env, "event window NULL, bail out!"); - return ; - } - if(dpy!=evt.xany.display) { NewtCommon_throwNewRuntimeException(env, "wrong display, bail out!"); return ; } + if( 0==evt.xany.window ) { + DBG_PRINT( "X11: DispatchMessages dpy %p, Event %d - Window NULL, ignoring\n", (void*)dpy, (int)evt.type); + continue; + } + // DBG_PRINT( "X11: DispatchMessages dpy %p, win %p, Event %d\n", (void*)dpy, (void*)evt.xany.window, (int)evt.type); jwindow = getJavaWindowProperty(env, dpy, evt.xany.window, javaObjectAtom, @@ -54,8 +54,7 @@ void X11EventPoll(JNIEnv *env, jobject obj, Display *dpy, jlong javaObjectAtom, ); if(NULL==jwindow) { - fprintf(stderr, "Warning: NEWT X11 DisplayDispatch %p, Couldn't handle event %d for X11 window %p\n", - (void*)dpy, evt.type, (void*)evt.xany.window); + fprintf(stderr, "Warning: NEWT X11 DisplayDispatch %p, Couldn't handle event %d for X11 window %p\n", (void*)dpy, evt.type, (void*)evt.xany.window); continue; } -- cgit v1.2.3