[gnome-panel] force-quit: avoid deprecated GdkDeviceManager
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] force-quit: avoid deprecated GdkDeviceManager
- Date: Sat, 7 Mar 2020 23:27:57 +0000 (UTC)
commit 7aee480dab1a620cea66f857edcbbc2bdc2ed631
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Sun Mar 8 01:18:21 2020 +0200
force-quit: avoid deprecated GdkDeviceManager
gnome-panel/panel-force-quit.c | 54 +++++++++++++++++++-----------------------
1 file changed, 24 insertions(+), 30 deletions(-)
---
diff --git a/gnome-panel/panel-force-quit.c b/gnome-panel/panel-force-quit.c
index f5b0cf6f4..73987c800 100644
--- a/gnome-panel/panel-force-quit.c
+++ b/gnome-panel/panel-force-quit.c
@@ -88,9 +88,7 @@ remove_popup (GtkWidget *popup)
{
GdkWindow *root;
GdkDisplay *display;
- GdkDevice *pointer;
- GdkDevice *keyboard;
- GdkDeviceManager *device_manager;
+ GdkSeat *seat;
root = gdk_screen_get_root_window (
gtk_window_get_screen (GTK_WINDOW (popup)));
@@ -99,12 +97,9 @@ remove_popup (GtkWidget *popup)
gtk_widget_destroy (popup);
display = gdk_window_get_display (root);
- device_manager = gdk_display_get_device_manager (display);
- pointer = gdk_device_manager_get_client_pointer (device_manager);
- keyboard = gdk_device_get_associated_device (pointer);
+ seat = gdk_display_get_default_seat (display);
- gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
- gdk_device_ungrab (keyboard, GDK_CURRENT_TIME);
+ gdk_seat_ungrab (seat);
}
static gboolean
@@ -303,6 +298,14 @@ popup_filter (GdkXEvent *gdk_xevent,
return GDK_FILTER_CONTINUE;
}
+static void
+prepare_cb (GdkSeat *seat,
+ GdkWindow *window,
+ gpointer user_data)
+{
+ gdk_window_show_unraised (window);
+}
+
void
panel_force_quit (GdkScreen *screen,
guint time)
@@ -312,9 +315,7 @@ panel_force_quit (GdkScreen *screen,
GtkWidget *popup;
GdkWindow *root;
GdkDisplay *display;
- GdkDevice *pointer;
- GdkDevice *keyboard;
- GdkDeviceManager *device_manager;
+ GdkSeat *seat;
popup = display_popup_window (screen);
@@ -326,29 +327,22 @@ panel_force_quit (GdkScreen *screen,
GDK_CROSS);
display = gdk_window_get_display (root);
- device_manager = gdk_display_get_device_manager (display);
- pointer = gdk_device_manager_get_client_pointer (device_manager);
- keyboard = gdk_device_get_associated_device (pointer);
-
- status = gdk_device_grab (pointer, root,
- GDK_OWNERSHIP_NONE, FALSE,
- GDK_BUTTON_PRESS_MASK,
- cross, time);
+ seat = gdk_display_get_default_seat (display);
+
+ status = gdk_seat_grab (seat,
+ root,
+ GDK_SEAT_CAPABILITY_POINTER |
+ GDK_SEAT_CAPABILITY_KEYBOARD,
+ TRUE,
+ cross,
+ NULL,
+ prepare_cb,
+ NULL);
g_object_unref (cross);
if (status != GDK_GRAB_SUCCESS) {
- g_warning ("Pointer grab failed\n");
- remove_popup (popup);
- return;
- }
-
- status = gdk_device_grab (keyboard, root,
- GDK_OWNERSHIP_NONE, FALSE,
- GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
- NULL, time);
- if (status != GDK_GRAB_SUCCESS) {
- g_warning ("Keyboard grab failed\n");
+ g_warning ("Seat grab failed.");
remove_popup (popup);
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]