From ac4a9defcaab0144dc437a44152b46d5bafcf417 Mon Sep 17 00:00:00 2001 From: Denis Fokin Date: Thu, 30 Aug 2012 01:17:24 +0400 Subject: [PATCH] 7192887: java/awt/Window/Grab/GrabTest.java still failed (fix failed for CR 7149068) Reviewed-by: ant, serb --- jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java index faa8ff0da74..a6af2e776d2 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java @@ -1165,15 +1165,25 @@ class XWindowPeer extends XPanelPeer implements WindowPeer, } public void dispose() { + if (isGrabbed()) { + if (grabLog.isLoggable(PlatformLogger.FINE)) { + grabLog.fine("Generating UngrabEvent on {0} because of the window disposal", this); + } + postEventToEventQueue(new sun.awt.UngrabEvent(getEventSource())); + } + SunToolkit.awtLock(); + try { windows.remove(this); } finally { SunToolkit.awtUnlock(); } + if (warningWindow != null) { warningWindow.destroy(); } + removeRootPropertyEventDispatcher(); mustControlStackPosition = false; super.dispose(); @@ -1191,6 +1201,7 @@ class XWindowPeer extends XPanelPeer implements WindowPeer, } } } + boolean isResizable() { return winAttr.isResizable; }