[gnome-screenshot/wip/exalm/refactor: 5/12] area-selection: Use GdkSeat for grabbing
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-screenshot/wip/exalm/refactor: 5/12] area-selection: Use GdkSeat for grabbing
- Date: Wed, 22 Apr 2020 13:26:31 +0000 (UTC)
commit 123fba445122ec7b9df72fcd1a837fc3791e9e90
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Sun Apr 19 02:57:43 2020 +0500
area-selection: Use GdkSeat for grabbing
Fix a few deprecations.
src/screenshot-area-selection.c | 43 ++++++++++++-----------------------------
1 file changed, 12 insertions(+), 31 deletions(-)
---
diff --git a/src/screenshot-area-selection.c b/src/screenshot-area-selection.c
index 713e4b2..224d93d 100644
--- a/src/screenshot-area-selection.c
+++ b/src/screenshot-area-selection.c
@@ -229,9 +229,7 @@ screenshot_select_area_x11_async (CallbackData *cb_data)
g_autoptr(GdkCursor) cursor = NULL;
GdkDisplay *display;
select_area_filter_data data;
- GdkDeviceManager *manager;
- GdkDevice *pointer, *keyboard;
- GdkGrabStatus res;
+ GdkSeat *seat;
data.rect.x = 0;
data.rect.y = 0;
@@ -248,40 +246,23 @@ screenshot_select_area_x11_async (CallbackData *cb_data)
display = gtk_widget_get_display (data.window);
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
- manager = gdk_display_get_device_manager (display);
- pointer = gdk_device_manager_get_client_pointer (manager);
- keyboard = gdk_device_get_associated_device (pointer);
-
- res = gdk_device_grab (pointer, gtk_widget_get_window (data.window),
- GDK_OWNERSHIP_NONE, FALSE,
- GDK_POINTER_MOTION_MASK |
- GDK_BUTTON_PRESS_MASK |
- GDK_BUTTON_RELEASE_MASK,
- cursor, GDK_CURRENT_TIME);
-
- if (res != GDK_GRAB_SUCCESS)
- goto out;
-
- res = gdk_device_grab (keyboard, gtk_widget_get_window (data.window),
- GDK_OWNERSHIP_NONE, FALSE,
- GDK_KEY_PRESS_MASK |
- GDK_KEY_RELEASE_MASK,
- NULL, GDK_CURRENT_TIME);
- if (res != GDK_GRAB_SUCCESS)
- {
- gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
- goto out;
- }
+ seat = gdk_display_get_default_seat (display);
+
+ gdk_seat_grab (seat,
+ gtk_widget_get_window (data.window),
+ GDK_SEAT_CAPABILITY_ALL,
+ FALSE,
+ cursor,
+ NULL,
+ NULL,
+ NULL);
gtk_main ();
- gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
- gdk_device_ungrab (keyboard, GDK_CURRENT_TIME);
+ gdk_seat_ungrab (seat);
gtk_widget_destroy (data.window);
- gdk_flush ();
- out:
cb_data->aborted = data.aborted;
cb_data->rectangle = data.rect;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]