Tue, 08 Oct 2019 20:05:06 -0400
Use new GdkSeat API instead of deprecated GdkDevice.
--- a/pidgin/gtkconv.c Mon Oct 07 03:26:15 2019 -0400 +++ b/pidgin/gtkconv.c Tue Oct 08 20:05:06 2019 -0400 @@ -7161,11 +7161,13 @@ /* Grab the pointer */ gtk_grab_add(gtkwin->notebook); device = gdk_event_get_device(event); - if (!gdk_display_device_is_grabbed(gdk_device_get_display(device), device)) - gdk_device_grab(device, gtk_widget_get_window(gtkwin->notebook), - GDK_OWNERSHIP_WINDOW, FALSE, - GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, - cursor, gdk_event_get_time(event)); + if (!gdk_display_device_is_grabbed(gdk_device_get_display(device), + device)) { + gdk_seat_grab(gdk_event_get_seat(event), + gtk_widget_get_window(gtkwin->notebook), + GDK_SEAT_CAPABILITY_ALL_POINTING, FALSE, cursor, event, + NULL, NULL); + } } static gboolean @@ -7443,7 +7445,7 @@ device = gdk_event_get_device((GdkEvent *)e); if (gdk_display_device_is_grabbed(gdk_device_get_display(device), device)) { - gdk_device_ungrab(device, gdk_event_get_time((GdkEvent *)e)); + gdk_seat_ungrab(gdk_event_get_seat((GdkEvent *)e)); gtk_grab_remove(widget); }
--- a/pidgin/gtkstatusbox.c Mon Oct 07 03:26:15 2019 -0400 +++ b/pidgin/gtkstatusbox.c Tue Oct 08 20:05:06 2019 -0400 @@ -1241,24 +1241,13 @@ static gboolean popup_grab_on_window(GdkWindow *window, GdkEvent *event) { - guint32 activate_time = gdk_event_get_time(event); - GdkDevice *device = gdk_event_get_device(event); + GdkSeat *seat = gdk_event_get_seat(event); GdkGrabStatus status; - status = gdk_device_grab(device, window, GDK_OWNERSHIP_WINDOW, TRUE, - GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | - GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | - GDK_KEY_RELEASE_MASK, NULL, activate_time); + status = gdk_seat_grab(seat, window, GDK_SEAT_CAPABILITY_ALL, TRUE, NULL, + event, NULL, NULL); if (status == GDK_GRAB_SUCCESS) { - status = gdk_device_grab(gdk_device_get_associated_device(device), - window, GDK_OWNERSHIP_WINDOW, TRUE, - GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | - GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | - GDK_KEY_RELEASE_MASK, NULL, activate_time); - if (status == GDK_GRAB_SUCCESS) - return TRUE; - else - gdk_device_ungrab(device, activate_time); + return TRUE; } return FALSE; @@ -1294,16 +1283,13 @@ static void pidgin_status_box_popdown(PidginStatusBox *box, GdkEvent *event) { - guint32 time; - GdkDevice *device; + GdkSeat *seat; gtk_widget_hide(box->popup_window); box->popup_in_progress = FALSE; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(box->toggle_button), FALSE); gtk_grab_remove(box->popup_window); - time = gdk_event_get_time(event); - device = gdk_event_get_device(event); - gdk_device_ungrab(device, time); - gdk_device_ungrab(gdk_device_get_associated_device(device), time); + seat = gdk_event_get_seat(event); + gdk_seat_ungrab(seat); } static gboolean
--- a/pidgin/pidgintooltip.c Mon Oct 07 03:26:15 2019 -0400 +++ b/pidgin/pidgintooltip.c Tue Oct 08 20:05:06 2019 -0400 @@ -133,11 +133,11 @@ GdkRectangle mon_size; GtkWidget *tipwindow = pidgin_tooltip.tipwindow; - GdkDeviceManager *devmgr; + GdkSeat *seat; GdkDevice *dev; - devmgr = gdk_display_get_device_manager(gdk_display_get_default()); - dev = gdk_device_manager_get_client_pointer(devmgr); + seat = gdk_display_get_default_seat(gdk_display_get_default()); + dev = gdk_seat_get_pointer(seat); gdk_device_get_position(dev, &screen, &x, &y); mon_num = gdk_screen_get_monitor_at_point(screen, x, y);
--- a/pidgin/plugins/gestures/stroke-draw.c Mon Oct 07 03:26:15 2019 -0400 +++ b/pidgin/plugins/gestures/stroke-draw.c Tue Oct 08 20:05:06 2019 -0400 @@ -57,13 +57,13 @@ { gint x, y; struct gstroke_metrics *metrics; - GdkDeviceManager *devmgr; + GdkSeat *seat; GdkDevice *dev; g_return_if_fail(widget != NULL); - devmgr = gdk_display_get_device_manager(gtk_widget_get_display(widget)); - dev = gdk_device_manager_get_client_pointer(devmgr); + seat = gdk_display_get_default_seat(gtk_widget_get_display(widget)); + dev = gdk_seat_get_pointer(seat); gdk_window_get_device_position(gtk_widget_get_window(widget), dev, &x, &y, NULL); @@ -118,8 +118,9 @@ timer_id = 0; - if( event != NULL ) - gdk_device_ungrab(gdk_event_get_device(event), event->button.time); + if (event != NULL) { + gdk_seat_ungrab(gdk_event_get_seat(event)); + } if (gstroke_draw_strokes() && gstroke_disp != NULL) { /* get rid of the invisible stroke window */ @@ -159,10 +160,9 @@ cursor = gdk_cursor_new_for_display(display, GDK_PENCIL); } - gdk_device_grab(gdk_event_get_device(event), - gtk_widget_get_window(widget), GDK_OWNERSHIP_WINDOW, - FALSE, GDK_BUTTON_RELEASE_MASK, cursor, - event->button.time); + gdk_seat_grab(gdk_event_get_seat(event), gtk_widget_get_window(widget), + GDK_SEAT_CAPABILITY_ALL_POINTING, FALSE, cursor, event, + NULL, NULL); timer_id = g_timeout_add (GSTROKE_TIMEOUT_DURATION, gstroke_timeout, widget); return TRUE; @@ -181,7 +181,7 @@ last_mouse_position.invalid = TRUE; original_widget = NULL; g_source_remove (timer_id); - gdk_device_ungrab(gdk_event_get_device(event), event->button.time); + gdk_seat_ungrab(gdk_event_get_seat(event)); timer_id = 0; {