diff options
Diffstat (limited to 'src/nativewindow/classes/com')
-rw-r--r-- | src/nativewindow/classes/com/sun/nativewindow/impl/NullWindow.java | 4 | ||||
-rw-r--r-- | src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/nativewindow/classes/com/sun/nativewindow/impl/NullWindow.java b/src/nativewindow/classes/com/sun/nativewindow/impl/NullWindow.java index 48a04a3c9..800148b8d 100644 --- a/src/nativewindow/classes/com/sun/nativewindow/impl/NullWindow.java +++ b/src/nativewindow/classes/com/sun/nativewindow/impl/NullWindow.java @@ -57,6 +57,10 @@ public class NullWindow implements NativeWindow { protected void initNative() throws NativeWindowException { } + public void destroy() { + invalidate(); + } + public synchronized void invalidate() { displayHandle=0; scrnIndex=-1; diff --git a/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java b/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java index 5ad2804c1..4bb240e94 100644 --- a/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java +++ b/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java @@ -39,6 +39,7 @@ package com.sun.nativewindow.impl.jawt; import com.sun.nativewindow.impl.*; import java.awt.Component; +import java.awt.Window; import java.awt.GraphicsEnvironment; import javax.media.nativewindow.*; import com.sun.nativewindow.impl.*; @@ -81,6 +82,15 @@ public abstract class JAWTWindow implements NativeWindow { drawable= 0; } + public synchronized void destroy() { + if(null!=component) { + if(component instanceof Window) { + ((Window)component).dispose(); + } + } + invalidate(); + } + private volatile Exception lockedStack = null; public synchronized int lockSurface() throws NativeWindowException { |