macos: request layout with server-side decoration

If we have server-side decorations we might need to request a layout in
response to the resize notification. We don't need to do this in other
cases because we already handle that in the process of doing the resize
(and that code is that way because of delayed delivery of NSNotification).
This commit is contained in:
Christian Hergert 2022-03-10 23:16:38 -08:00 committed by Christian Hergert
parent 023bf9aea7
commit d62313e75c

View File

@ -379,8 +379,15 @@ typedef NSString *CALayerContentsGravity;
-(void)windowDidResize:(NSNotification *)notification
{
_gdk_macos_surface_configure ([self gdkSurface]);
gdk_surface_request_layout (GDK_SURFACE (gdk_surface));
_gdk_macos_surface_configure (gdk_surface);
/* If we're using server-side decorations, this notification is coming
* in from a display-side change. We need to request a layout in
* addition to the configure event.
*/
if (GDK_IS_MACOS_TOPLEVEL_SURFACE (gdk_surface) &&
GDK_MACOS_TOPLEVEL_SURFACE (gdk_surface)->decorated)
gdk_surface_request_layout (GDK_SURFACE (gdk_surface));
}
/* Used by gdkmacosdisplay-translate.c to decide if our sendEvent() handler