[gnome-panel/gtk3] Fix use of deprecated gdk_pointer_grab()/_ungrab()
- From: Germán Poó Caamaño <gpoo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel/gtk3] Fix use of deprecated gdk_pointer_grab()/_ungrab()
- Date: Sat, 8 Jan 2011 08:54:18 +0000 (UTC)
commit 98da5c1953ab90cc5581c1858d7a9c3d3cf796eb
Author: Germán Póo-Caamaño <gpoo gnome org>
Date: Sat Jan 8 00:53:24 2011 -0800
Fix use of deprecated gdk_pointer_grab()/_ungrab()
Replaced gdk_pointer_grab() and gdk_pointer_ungrab()
by gdk_device_grab() and gdk_device_ungrab(), respectively.
https://bugzilla.gnome.org/show_bug.cgi?id=627455
Wanda: Do not overtax your powers.
Signed-off-by: Germán Póo-Caamaño <gpoo gnome org>
gnome-panel/panel-applet-frame.c | 8 +++++++-
gnome-panel/panel-force-quit.c | 28 ++++++++++++++++++++++++----
gnome-panel/panel-toplevel.c | 25 +++++++++++++++++++++----
gnome-panel/panel-widget.c | 24 ++++++++++++++++++++----
4 files changed, 72 insertions(+), 13 deletions(-)
---
diff --git a/gnome-panel/panel-applet-frame.c b/gnome-panel/panel-applet-frame.c
index 511332f..fa60ba9 100644
--- a/gnome-panel/panel-applet-frame.c
+++ b/gnome-panel/panel-applet-frame.c
@@ -356,6 +356,9 @@ panel_applet_frame_button_changed (GtkWidget *widget,
{
PanelAppletFrame *frame;
gboolean handled = FALSE;
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
frame = PANEL_APPLET_FRAME (widget);
@@ -384,7 +387,10 @@ panel_applet_frame_button_changed (GtkWidget *widget,
case 3:
if (event->type == GDK_BUTTON_PRESS ||
event->type == GDK_2BUTTON_PRESS) {
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
+ display = gtk_widget_get_display (widget);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+ gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
PANEL_APPLET_FRAME_GET_CLASS (frame)->popup_menu (frame,
event->button,
diff --git a/gnome-panel/panel-force-quit.c b/gnome-panel/panel-force-quit.c
index fa51caa..9ac9040 100644
--- a/gnome-panel/panel-force-quit.c
+++ b/gnome-panel/panel-force-quit.c
@@ -100,14 +100,22 @@ display_popup_window (GdkScreen *screen)
static void
remove_popup (GtkWidget *popup)
{
- GdkWindow *root;
+ GdkWindow *root;
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
root = gdk_screen_get_root_window (
gtk_window_get_screen (GTK_WINDOW (popup)));
gdk_window_remove_filter (root, (GdkFilterFunc) popup_filter, popup);
gtk_widget_destroy (popup);
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
+
+ display = gdk_window_get_display (root);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+ gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
gdk_keyboard_ungrab (GDK_CURRENT_TIME);
}
@@ -288,6 +296,9 @@ panel_force_quit (GdkScreen *screen,
GdkCursor *cross;
GtkWidget *popup;
GdkWindow *root;
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
popup = display_popup_window (screen);
@@ -296,9 +307,18 @@ panel_force_quit (GdkScreen *screen,
gdk_window_add_filter (root, (GdkFilterFunc) popup_filter, popup);
cross = gdk_cursor_new (GDK_CROSS);
- status = gdk_pointer_grab (root, FALSE, GDK_BUTTON_PRESS_MASK,
- NULL, cross, time);
+
+ display = gdk_window_get_display (root);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+ status = gdk_device_grab (pointer, root,
+ GDK_OWNERSHIP_NONE, FALSE,
+ GDK_BUTTON_PRESS_MASK,
+ cross, time);
+
g_object_unref (cross);
+
if (status != GDK_GRAB_SUCCESS) {
g_warning ("Pointer grab failed\n");
remove_popup (popup);
diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
index 6127edf..cd9c493 100644
--- a/gnome-panel/panel-toplevel.c
+++ b/gnome-panel/panel-toplevel.c
@@ -446,6 +446,9 @@ panel_toplevel_begin_grab_op (PanelToplevel *toplevel,
GdkWindow *window;
GdkCursorType cursor_type;
GdkCursor *cursor;
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
if (toplevel->priv->state != PANEL_STATE_NORMAL ||
toplevel->priv->grab_op != PANEL_GRAB_OP_NONE)
@@ -499,9 +502,16 @@ panel_toplevel_begin_grab_op (PanelToplevel *toplevel,
toplevel, toplevel->priv->grab_op);
cursor = gdk_cursor_new (cursor_type);
- gdk_pointer_grab (window, FALSE,
- GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
- NULL, cursor, time_);
+
+ display = gdk_window_get_display (window);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+ gdk_device_grab (pointer, window,
+ GDK_OWNERSHIP_NONE, FALSE,
+ GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
+ cursor, time_);
+
g_object_unref (cursor);
if (grab_keyboard)
@@ -513,6 +523,9 @@ panel_toplevel_end_grab_op (PanelToplevel *toplevel,
guint32 time_)
{
GtkWidget *widget;
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
g_return_if_fail (toplevel->priv->grab_op != PANEL_GRAB_OP_NONE);
@@ -523,7 +536,11 @@ panel_toplevel_end_grab_op (PanelToplevel *toplevel,
gtk_grab_remove (widget);
- gdk_pointer_ungrab (time_);
+ display = gtk_widget_get_display (widget);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+ gdk_device_ungrab (pointer, time_);
gdk_keyboard_ungrab (time_);
}
diff --git a/gnome-panel/panel-widget.c b/gnome-panel/panel-widget.c
index 4269f43..49fc463 100644
--- a/gnome-panel/panel-widget.c
+++ b/gnome-panel/panel-widget.c
@@ -1901,12 +1901,19 @@ panel_widget_applet_drag_start (PanelWidget *panel,
if (window) {
GdkGrabStatus status;
GdkCursor *fleur_cursor;
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
fleur_cursor = gdk_cursor_new (GDK_FLEUR);
- status = gdk_pointer_grab (window, FALSE,
- APPLET_EVENT_MASK, NULL,
- fleur_cursor, time_);
+ display = gdk_window_get_display (window);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+ status = gdk_device_grab (pointer, window,
+ GDK_OWNERSHIP_NONE, FALSE,
+ APPLET_EVENT_MASK,
+ fleur_cursor, time_);
g_object_unref (fleur_cursor);
gdk_flush ();
@@ -1922,11 +1929,20 @@ panel_widget_applet_drag_start (PanelWidget *panel,
void
panel_widget_applet_drag_end (PanelWidget *panel)
{
+ GdkDisplay *display;
+ GdkDevice *pointer;
+ GdkDeviceManager *device_manager;
+
g_return_if_fail (PANEL_IS_WIDGET (panel));
if (panel->currently_dragged_applet == NULL)
return;
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
+
+ display = gtk_widget_get_display (GTK_WIDGET (panel));
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+ gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
gtk_grab_remove (panel->currently_dragged_applet->applet);
panel_widget_applet_drag_end_no_grab (panel);
panel_toplevel_pop_autohide_disabler (panel->toplevel);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]