From 4a9f65b176d618a8816eff6d24e683c56a4d8086 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 11 Aug 2015 01:59:15 +0200 Subject: Bug 1188: Fix regression on X11 setVisible: in-visibility never reached on child windows It has been experienced that UnmapNotify is not sent for child windows when using IconicState! Hence the visible:=false event never reaches the Window, causing an error. This patch only uses IconicState for top-level windows and if requested. --- src/newt/classes/jogamp/newt/WindowImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/newt/classes') diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index 491f984f2..2721e90e6 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -1131,7 +1131,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer stateMask.set(STATE_BIT_VISIBLE); } else if(stateMask.get(STATE_BIT_VISIBLE) != visible) { if(isNativeValid()) { - setVisibleImpl(visible /* visible */, false /* fast */, getX(), getY(), getWidth(), getHeight()); + // Skip WM if child-window! + setVisibleImpl(visible /* visible */, isChildWindow() /* fast */, getX(), getY(), getWidth(), getHeight()); WindowImpl.this.waitForVisible(visible, false); madeVisible = visible; } else { -- cgit v1.2.3