[gtk/wip/chergert/macos-iosurface] macos: fix window drag across mixed-scale monitors



commit a9b27c25c3bca512fe1f5841e054bfd498c0618b
Author: Christian Hergert <christian hergert me>
Date:   Wed Feb 16 17:09:48 2022 -0800

    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.

 gdk/macos/gdkmacossurface.c | 3 +++
 1 file changed, 3 insertions(+)
---
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);


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