]> Pileus Git - ~andy/gtk/commitdiff
tests: Port testsocket example to not use deprecated APIs
authorBenjamin Otte <otte@redhat.com>
Wed, 5 Jan 2011 22:49:40 +0000 (23:49 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 5 Jan 2011 22:50:22 +0000 (23:50 +0100)
tests/testsocket.c

index e822e13e326bfb26ed2bb73e0c879d0c8417b605..a17a74970e628af6bb31f6d2792ec5069e9e82a6 100644 (file)
@@ -281,13 +281,22 @@ static void
 grab_window_toggled (GtkToggleButton *button,
                     GtkWidget       *widget)
 {
+  GdkDevice *device = gtk_get_current_event_device ();
+
+  if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
+    device = gdk_device_get_associated_device (device);
 
   if (gtk_toggle_button_get_active (button))
     {
       int status;
 
-      status = gdk_keyboard_grab (gtk_widget_get_window (widget),
-                                  FALSE, GDK_CURRENT_TIME);
+      status = gdk_device_grab (device,
+                                gtk_widget_get_window (widget),
+                                GDK_OWNERSHIP_NONE,
+                                FALSE,
+                                GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+                                NULL,
+                                GDK_CURRENT_TIME);
 
       if (status != GDK_GRAB_SUCCESS)
        g_warning ("Could not grab keyboard!  (%s)", grab_string (status));
@@ -295,7 +304,7 @@ grab_window_toggled (GtkToggleButton *button,
     } 
   else 
     {
-      gdk_keyboard_ungrab (GDK_CURRENT_TIME);
+      gdk_device_ungrab (device, GDK_CURRENT_TIME);
     }
 }