[gimp] Bug 677776 - filter popup windows get hidden behind main image window



commit 018fc32727d66a70359d95ee4f13ea98e775d684
Author: Michael Natterer <mitch gimp org>
Date:   Sun Nov 11 21:19:17 2012 +0100

    Bug 677776 - filter popup windows get hidden behind main image window
    
    On OSX, set all transient plug-in windows to UTILITY, so they appear
    on top of the image window, which is a bad hack. See the comment in
    gimp_window_set_transient_for_display().

 libgimp/gimpui.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/libgimp/gimpui.c b/libgimp/gimpui.c
index 9b3d3a8..f36c2d9 100644
--- a/libgimp/gimpui.c
+++ b/libgimp/gimpui.c
@@ -260,6 +260,17 @@ gimp_window_set_transient_for_display (GtkWindow *window,
        *  where the mouse is (see bug #684003).
        */
       gtk_window_set_position (window, GTK_WIN_POS_CENTER);
+
+#ifdef GDK_WINDOWING_QUARTZ
+      /*  in OSX, bringing the plug-in's window to front hilariously
+       *  fails even though we call [NSApp activateIgnoringOtherApps];
+       *  as a workaround, set the window to UTILITY which places them
+       *  above all normal windows (which sucks, but it's better than
+       *  below the image window, and not that bad because plug-in
+       *  windows are generally temporary, see bug #677776).
+       */
+      gtk_window_set_type_hint (window, GDK_WINDOW_TYPE_HINT_UTILITY);
+#endif
     }
 }
 
@@ -283,6 +294,11 @@ gimp_window_set_transient (GtkWindow *window)
     {
       /*  see above  */
       gtk_window_set_position (window, GTK_WIN_POS_CENTER);
+
+#ifdef GDK_WINDOWING_QUARTZ
+      /*  ditto  */
+      gtk_window_set_type_hint (window, GDK_WINDOW_TYPE_HINT_UTILITY);
+#endif
     }
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]