]> Pileus Git - ~andy/gtk/commitdiff
Bug 667691 - implement gdk_window_restack() for Quartz
authorMichael Natterer <mitch@lanedo.com>
Thu, 26 Jan 2012 09:11:17 +0000 (10:11 +0100)
committerMichael Natterer <mitch@gimp.org>
Thu, 26 Jan 2012 09:25:47 +0000 (10:25 +0100)
Apply patch from Paul Davis which implements this missing function.
(cherry picked from commit e1c107a094f46d93f7b9bfeb029cf30ecfbedc12)

gdk/quartz/gdkwindow-quartz.c

index 4a2f06ae3fbaf3808d7be1a3ae91a8ab9fc43c1a..9f79bd33165a0b3adcc3cef71cd29b805190f6e5 100644 (file)
@@ -1630,7 +1630,18 @@ gdk_window_quartz_restack_toplevel (GdkWindow *window,
                                    GdkWindow *sibling,
                                    gboolean   above)
 {
-  /* FIXME: Implement this */
+  GdkWindowImplQuartz *impl;
+  gint sibling_num;
+
+  impl = GDK_WINDOW_IMPL_QUARTZ (sibling->impl);
+  sibling_num = [impl->toplevel windowNumber];
+
+  impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
+
+  if (above)
+    [impl->toplevel orderWindow:NSWindowAbove relativeTo:sibling_num];
+  else
+    [impl->toplevel orderWindow:NSWindowBelow relativeTo:sibling_num];
 }
 
 static void