[gtk/wip/chergert/quartz4u] implement hide, cleanup some helpers



commit 6adf532b01965fb0ba1892989807f8e0bedacfa4
Author: Christian Hergert <chergert redhat com>
Date:   Wed Apr 29 16:06:30 2020 -0700

    implement hide, cleanup some helpers

 gdk/macos/GdkMacosWindow.c          | 18 ++++--------------
 gdk/macos/gdkmacossurface.c         | 12 ++++++++++++
 gdk/macos/gdkmacostoplevelsurface.c |  2 +-
 3 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/gdk/macos/GdkMacosWindow.c b/gdk/macos/GdkMacosWindow.c
index 5eb47ab81c..bf7ecdcb75 100644
--- a/gdk/macos/GdkMacosWindow.c
+++ b/gdk/macos/GdkMacosWindow.c
@@ -296,7 +296,7 @@
                        screen:screen];
 
   [self setAcceptsMouseMovedEvents:YES];
-  [self setDelegate:self];
+  [self setDelegate:nil];
   [self setReleasedWhenClosed:YES];
 
   return self;
@@ -351,35 +351,25 @@
 
 - (void)showAndMakeKey:(BOOL)makeKey
 {
-#if 0
-  GdkSurface *window = [[self contentView] gdkSurface];
-  GdkSurfaceImplQuartz *impl = GDK_SURFACE_IMPL_QUARTZ (window->impl);
-
   inShowOrHide = YES;
 
   if (makeKey)
-    [impl->toplevel makeKeyAndOrderFront:impl->toplevel];
+    [self makeKeyAndOrderFront:nil];
   else
-    [impl->toplevel orderFront:nil];
+    [self orderFront:nil];
 
   inShowOrHide = NO;
 
   [self checkSendEnterNotify];
-#endif
 }
 
 - (void)hide
 {
-#if 0
-  GdkSurface *window = [[self contentView] gdkSurface];
-  GdkSurfaceImplQuartz *impl = GDK_SURFACE_IMPL_QUARTZ (window->impl);
-
   inShowOrHide = YES;
-  [impl->toplevel orderOut:nil];
+  [self orderOut:nil];
   inShowOrHide = NO;
 
   initialPositionKnown = NO;
-#endif
 }
 
 - (BOOL)trackManualMove
diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c
index 7b469b3810..9431672ce7 100644
--- a/gdk/macos/gdkmacossurface.c
+++ b/gdk/macos/gdkmacossurface.c
@@ -71,6 +71,17 @@ gdk_macos_surface_set_input_region (GdkSurface     *surface,
   /* TODO: */
 }
 
+static void
+gdk_macos_surface_hide (GdkSurface *surface)
+{
+  GdkMacosSurface *self = (GdkMacosSurface *)surface;
+  GdkMacosSurfacePrivate *priv = gdk_macos_surface_get_instance_private (self);
+
+  g_assert (GDK_IS_MACOS_SURFACE (self));
+
+  [priv->window hide];
+}
+
 static void
 gdk_macos_surface_destroy (GdkSurface *surface,
                            gboolean    foreign_destroy)
@@ -143,6 +154,7 @@ gdk_macos_surface_class_init (GdkMacosSurfaceClass *klass)
   object_class->set_property = gdk_macos_surface_set_property;
 
   surface_class->destroy = gdk_macos_surface_destroy;
+  surface_class->hide = gdk_macos_surface_hide;
   surface_class->set_input_region = gdk_macos_surface_set_input_region;
 
   properties [PROP_NATIVE] =
diff --git a/gdk/macos/gdkmacostoplevelsurface.c b/gdk/macos/gdkmacostoplevelsurface.c
index 90a70405a6..a2085cddd3 100644
--- a/gdk/macos/gdkmacostoplevelsurface.c
+++ b/gdk/macos/gdkmacostoplevelsurface.c
@@ -138,7 +138,7 @@ _gdk_macos_toplevel_surface_present (GdkToplevel       *toplevel,
     _gdk_macos_toplevel_surface_unfullscreen (self);
 
   /* Now present the window */
-  [window makeKeyAndOrderFront:window];
+  [window showAndMakeKey:YES];
 
   return TRUE;
 }


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