From 05047bfdd596bf6010d09f9409ff13a74190ed4c Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Mon, 10 Jan 2011 15:03:44 +0000 Subject: Don't use deprecated gdk_keyboard_grab/ungrab --- libempathy-gtk/empathy-password-dialog.c | 35 ++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'libempathy-gtk/empathy-password-dialog.c') diff --git a/libempathy-gtk/empathy-password-dialog.c b/libempathy-gtk/empathy-password-dialog.c index 2b1048c1c..2491872c2 100644 --- a/libempathy-gtk/empathy-password-dialog.c +++ b/libempathy-gtk/empathy-password-dialog.c @@ -157,13 +157,25 @@ password_dialog_grab_keyboard (GtkWidget *widget, if (!priv->grabbing) { - GdkGrabStatus status = gdk_keyboard_grab (gtk_widget_get_window (widget), - FALSE, gdk_event_get_time (event)); - - if (status != GDK_GRAB_SUCCESS) - DEBUG ("Could not grab keyboard; grab status was %u", status); + GdkDevice *device = gdk_event_get_device (event); + + if (device != NULL) + { + GdkGrabStatus status = gdk_device_grab (device, + gtk_widget_get_window (widget), + GDK_OWNERSHIP_WINDOW, + FALSE, + GDK_ALL_EVENTS_MASK, + NULL, + gdk_event_get_time (event)); + + if (status != GDK_GRAB_SUCCESS) + DEBUG ("Could not grab keyboard; grab status was %u", status); + else + priv->grabbing = TRUE; + } else - priv->grabbing = TRUE; + DEBUG ("Could not get the event device!"); } return FALSE; @@ -178,8 +190,15 @@ password_dialog_ungrab_keyboard (GtkWidget *widget, if (priv->grabbing) { - gdk_keyboard_ungrab (gdk_event_get_time (event)); - priv->grabbing = FALSE; + GdkDevice *device = gdk_event_get_device (event); + + if (device != NULL) + { + gdk_device_ungrab (device, gdk_event_get_time (event)); + priv->grabbing = FALSE; + } + else + DEBUG ("Could not get the event device!"); } return FALSE; -- cgit v1.2.3