From 01ce822a6d2a944470a3b9612970d8194a6fb430 Mon Sep 17 00:00:00 2001 From: denis 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 --- src/solaris/classes/sun/awt/X11/XWindowPeer.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/solaris/classes/sun/awt/X11/XWindowPeer.java b/src/solaris/classes/sun/awt/X11/XWindowPeer.java index faa8ff0da..a6af2e776 100644 --- a/src/solaris/classes/sun/awt/X11/XWindowPeer.java +++ b/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; } -- GitLab