[gtk/gtk-4-6] macos: fix positioning of popover tails



commit 9bbf5966d33faa6653a30d94a25dda14305d8885
Author: Christian Hergert <christian hergert me>
Date:   Thu Feb 24 16:29:53 2022 -0800

    macos: fix positioning of popover tails
    
    This broke with the previous fixes for initial window positioning. We need
    the initial positioning so that tails will be displayed correctly when the
    popover surface is displayed.

 gdk/macos/gdkmacossurface.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)
---
diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c
index 0f9fd4d833..5998c4162f 100644
--- a/gdk/macos/gdkmacossurface.c
+++ b/gdk/macos/gdkmacossurface.c
@@ -69,10 +69,8 @@ _gdk_macos_surface_reposition_children (GdkMacosSurface *self)
 {
   g_assert (GDK_IS_MACOS_SURFACE (self));
 
-  if (GDK_SURFACE_DESTROYED (self))
-    return;
 
-  if (!gdk_surface_get_mapped (GDK_SURFACE (self)))
+  if (GDK_SURFACE_DESTROYED (self))
     return;
 
   for (const GList *iter = GDK_SURFACE (self)->children;
@@ -767,18 +765,15 @@ _gdk_macos_surface_configure (GdkMacosSurface *self)
                                           content_rect.origin.y + content_rect.size.height,
                                           &self->root_x, &self->root_y);
 
-  if (self->did_initial_present)
+  if (surface->parent != NULL)
     {
-      if (surface->parent != NULL)
-        {
-          surface->x = self->root_x - GDK_MACOS_SURFACE (surface->parent)->root_x;
-          surface->y = self->root_y - GDK_MACOS_SURFACE (surface->parent)->root_y;
-        }
-      else
-        {
-          surface->x = self->root_x;
-          surface->y = self->root_y;
-        }
+      surface->x = self->root_x - GDK_MACOS_SURFACE (surface->parent)->root_x;
+      surface->y = self->root_y - GDK_MACOS_SURFACE (surface->parent)->root_y;
+    }
+  else
+    {
+      surface->x = self->root_x;
+      surface->y = self->root_y;
     }
 
   if (surface->width != content_rect.size.width ||


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