From: Christian Hergert Date: Fri, 25 Feb 2022 00:29:53 +0000 (-0800) Subject: macos: fix positioning of popover tails X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~3^2~69 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9bbf5966d33faa6653a30d94a25dda14305d8885;p=gtk4.git 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. --- 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 ||