From: Christian Hergert Date: Thu, 17 Feb 2022 01:09:48 +0000 (-0800) Subject: macos: fix window drag across mixed-scale monitors X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~3^2~72^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=493f90499b35d0b5c54572becad80494d6a9fb50;p=gtk4.git macos: fix window drag across mixed-scale monitors If we have a 2x scale laptop with a 1x scale external display, we would need to create a new IOSurface for the external display once it crosses a boundary, otherwise we won't have something capable of displaying correctly on the second monitor. --- diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c index fe7c7cc34f..cc7bbd9b9b 100644 --- a/gdk/macos/gdkmacossurface.c +++ b/gdk/macos/gdkmacossurface.c @@ -1017,6 +1017,9 @@ _gdk_macos_surface_monitor_changed (GdkMacosSurface *self) g_object_unref (monitor); } + /* We need to create a new IOSurface for this monitor */ + g_clear_object (&self->buffer); + _gdk_macos_surface_configure (self); gdk_surface_invalidate_rect (GDK_SURFACE (self), NULL);