From a84fe6bde62e6093c0ecf1a77a0b3df65e814b72 Mon Sep 17 00:00:00 2001 From: Arjan Molenaar Date: Tue, 10 Sep 2024 22:10:48 +0200 Subject: [PATCH 1/2] macos: Put DnD windows on status level This will make sure the dragged window will stay visible. --- gdk/macos/gdkmacosdragsurface.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/macos/gdkmacosdragsurface.c b/gdk/macos/gdkmacosdragsurface.c index a9731473e9..b12c8cdf32 100644 --- a/gdk/macos/gdkmacosdragsurface.c +++ b/gdk/macos/gdkmacosdragsurface.c @@ -101,6 +101,7 @@ _gdk_macos_drag_surface_constructed (GObject *object) [window setOpaque:NO]; [window setBackgroundColor:[NSColor clearColor]]; [window setDecorated:NO]; + [window setLevel:NSStatusWindowLevel]; frame_clock = _gdk_frame_clock_idle_new (); gdk_surface_set_frame_clock (surface, frame_clock); From e92bd4d9ce416ef1360cc81fcaccfa8823bbb286 Mon Sep 17 00:00:00 2001 From: Arjan Molenaar Date: Wed, 11 Sep 2024 14:59:03 +0200 Subject: [PATCH 2/2] macOS: drag surfaces should ignore all events This fixes the Dnd demo. --- gdk/macos/gdkmacosdragsurface.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/macos/gdkmacosdragsurface.c b/gdk/macos/gdkmacosdragsurface.c index b12c8cdf32..7e0797f409 100644 --- a/gdk/macos/gdkmacosdragsurface.c +++ b/gdk/macos/gdkmacosdragsurface.c @@ -102,6 +102,7 @@ _gdk_macos_drag_surface_constructed (GObject *object) [window setBackgroundColor:[NSColor clearColor]]; [window setDecorated:NO]; [window setLevel:NSStatusWindowLevel]; + [window setIgnoresMouseEvents:YES]; frame_clock = _gdk_frame_clock_idle_new (); gdk_surface_set_frame_clock (surface, frame_clock);