From 1a0387125c8c0d7767f0afd6ed233bd473d6f2f1 Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 29 Jun 2007 14:50:26 +0000 Subject: [PATCH] fixes for always-on-top making windows disappear --- .../platform_specific_code/juce_linux_Windowing.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/build/linux/platform_specific_code/juce_linux_Windowing.cpp b/build/linux/platform_specific_code/juce_linux_Windowing.cpp index 38ba2b0514..9c6e0984bd 100644 --- a/build/linux/platform_specific_code/juce_linux_Windowing.cpp +++ b/build/linux/platform_specific_code/juce_linux_Windowing.cpp @@ -982,10 +982,18 @@ public: { if (windowH != 0) { + const bool wasVisible = component->isVisible(); + + if (wasVisible) + setVisible (false); // doesn't always seem to work if the window is visible when this is done.. + XSetWindowAttributes swa; - swa.override_redirect = getComponent()->isAlwaysOnTop() ? True : False; + swa.override_redirect = alwaysOnTop ? True : False; XChangeWindowAttributes (display, windowH, CWOverrideRedirect, &swa); + + if (wasVisible) + setVisible (true); } return true;