From 04707d3c1c628d6bf493d6916621d5e34dfefc30 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 23 Dec 2011 04:57:41 +0100 Subject: NEWT/OSX MacWindow.close(): More conservative closing approach. Closing: - Java: Set handle to null - Native: - Don't release the NSView explicit, but rely on NSWindow's release - Don't use NSWindow close() but simply call release() instead. The latter doesn't produce a crash SIGSEGV on exit in some cases. OSX 10.7.2, NV GPU --- src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java') diff --git a/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java b/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java index 47c599a25..75a3cf6d5 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java @@ -87,6 +87,9 @@ public class MacWindow extends WindowImpl implements SurfaceChangeable, DriverCl } } finally { setWindowHandle(0); + surfaceHandle = 0; + sscSurfaceHandle = 0; + isOffscreenInstance = false; } } @@ -394,8 +397,8 @@ public class MacWindow extends WindowImpl implements SurfaceChangeable, DriverCl private static final int NSBackingStoreNonretained = 1; private static final int NSBackingStoreBuffered = 2; - private volatile long surfaceHandle; - private long sscSurfaceHandle; - private boolean isOffscreenInstance; + private volatile long surfaceHandle = 0; + private long sscSurfaceHandle = 0; + private boolean isOffscreenInstance = false; } -- cgit v1.2.3