macos: No need to grab a seat
authorArjan Molenaar <gaphor@gmail.com>
Wed, 11 Jan 2023 17:56:01 +0000 (18:56 +0100)
committerArjan Molenaar <gaphor@gmail.com>
Sun, 15 Jan 2023 09:03:47 +0000 (10:03 +0100)
The macOS DnD logic will take over anyway.

gdk/macos/gdkmacosdrag-private.h
gdk/macos/gdkmacosdrag.c

index fbc525d2477e0f75da3530e9461fe13f3ab8c703..ab46828d5e761dc0fce544ee6f3bd5284c04e28d 100644 (file)
@@ -41,7 +41,6 @@ struct _GdkMacosDrag
   GdkDrag parent_instance;
 
   GdkMacosDragSurface *drag_surface;
-  GdkSeat *drag_seat;
   GdkCursor *cursor;
 
   int hot_x;
index 50c1ac814df996303093f6b578d549cd6f9569eb..5c11da851bb6c03f4f9a9355df876189b9457884 100644 (file)
@@ -188,47 +188,6 @@ gdk_macos_drag_set_cursor (GdkDrag   *drag,
     [nscursor set];
 }
 
-static gboolean
-drag_grab (GdkMacosDrag *self)
-{
-  GdkSeat *seat;
-
-  g_assert (GDK_IS_MACOS_DRAG (self));
-
-  seat = gdk_device_get_seat (gdk_drag_get_device (GDK_DRAG (self)));
-
-  if (gdk_seat_grab (seat,
-                     GDK_SURFACE (self->drag_surface),
-                     GDK_SEAT_CAPABILITY_ALL_POINTING,
-                     FALSE,
-                     self->cursor,
-                     NULL,
-                     NULL,
-                     NULL) != GDK_GRAB_SUCCESS)
-    return FALSE;
-
-  g_set_object (&self->drag_seat, seat);
-
-  return TRUE;
-}
-
-static void
-drag_ungrab (GdkMacosDrag *self)
-{
-  GdkDisplay *display;
-
-  g_assert (GDK_IS_MACOS_DRAG (self));
-
-  if (self->drag_seat)
-    {
-      gdk_seat_ungrab (self->drag_seat);
-      g_clear_object (&self->drag_seat);
-    }
-
-  display = gdk_drag_get_display (GDK_DRAG (self));
-  _gdk_macos_display_break_all_grabs (GDK_MACOS_DISPLAY (display), GDK_CURRENT_TIME);
-}
-
 static void
 gdk_macos_drag_cancel (GdkDrag             *drag,
                        GdkDragCancelReason  reason)
@@ -241,7 +200,6 @@ gdk_macos_drag_cancel (GdkDrag             *drag,
     return;
 
   self->cancelled = TRUE;
-  drag_ungrab (self);
   gdk_drag_drop_done (drag, FALSE);
 }
 
@@ -254,7 +212,6 @@ gdk_macos_drag_drop_performed (GdkDrag *drag,
   g_assert (GDK_IS_MACOS_DRAG (self));
 
   g_object_ref (self);
-  drag_ungrab (self);
   g_signal_emit_by_name (drag, "dnd-finished");
   gdk_drag_drop_done (drag, TRUE);
   g_object_unref (self);
@@ -543,11 +500,6 @@ gdk_macos_drag_finalize (GObject *object)
   GdkMacosDragSurface *drag_surface = g_steal_pointer (&self->drag_surface);
 
   g_clear_object (&self->cursor);
-  if (self->drag_seat)
-    {
-      gdk_seat_ungrab (self->drag_seat);
-      g_clear_object (&self->drag_seat);
-    }
 
   G_OBJECT_CLASS (gdk_macos_drag_parent_class)->finalize (object);