From 8f6233f11693f5e079cfeb6706fe2c37b5b9a6c2 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 5 Oct 2012 03:43:03 +0200 Subject: Fix regression of commit fbe331f013608eb31ff0d8675f4e4c9881c9c48b: X11 DisplayDriver dispatchMessagesNative() aDevice NPE at finally The aDevice could be pulled via destroy message, hence add check if null. --- src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java index a3230fa62..f3a548a08 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java @@ -89,6 +89,7 @@ public class DisplayDriver extends DisplayImpl { } } + @Override protected void closeNativeImpl() { DisplayRelease0(aDevice.getHandle(), javaObjectAtom, windowDeleteAtom); javaObjectAtom = 0; @@ -96,6 +97,7 @@ public class DisplayDriver extends DisplayImpl { aDevice.close(); // closes X11 display } + @Override protected void dispatchMessagesNative() { aDevice.lock(); try { @@ -104,7 +106,9 @@ public class DisplayDriver extends DisplayImpl { DispatchMessages0(handle, javaObjectAtom, windowDeleteAtom); } } finally { - aDevice.unlock(); + if(null != aDevice) { // could be pulled by destroy event + aDevice.unlock(); + } } } -- cgit v1.2.3