macos: Fix freeze on drag

A Drag surface does not have a parent surface. Therefore, if we initialize
it with one, it's inheriting the frame clock from the parent, but the
drag surface is not linked to the parent. Once the drag surface is destroyed,
it's disposing the frame clock, which results in a "frozen" application.
This commit is contained in:
Arjan Molenaar 2022-12-03 22:55:32 +01:00
parent d0c4413033
commit 089d0caa5e

View File

@ -431,7 +431,7 @@ gdk_macos_surface_drag_begin (GdkSurface *surface,
_gdk_macos_surface_get_root_coords (GDK_MACOS_SURFACE (surface), &sx, &sy); _gdk_macos_surface_get_root_coords (GDK_MACOS_SURFACE (surface), &sx, &sy);
drag_surface = _gdk_macos_surface_new (GDK_MACOS_DISPLAY (surface->display), drag_surface = _gdk_macos_surface_new (GDK_MACOS_DISPLAY (surface->display),
GDK_SURFACE_DRAG, GDK_SURFACE_DRAG,
surface, NULL,
sx, sy, 1, 1); sx, sy, 1, 1);
drag = g_object_new (GDK_TYPE_MACOS_DRAG, drag = g_object_new (GDK_TYPE_MACOS_DRAG,
"drag-surface", drag_surface, "drag-surface", drag_surface,