From 9bbf5966d33faa6653a30d94a25dda14305d8885 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Thu, 24 Feb 2022 16:29:53 -0800 Subject: [PATCH] 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 || -- 2.30.2