diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2017-07-10 23:51:35 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2017-07-10 23:51:35 +0000 |
| commit | dc2df4c31910b81b0af706cf3a26e62d173cf602 (patch) | |
| tree | a97f3301a2b9c67bc4222606b4b112cb883a9d17 /src | |
| parent | Use new GdkSeat API and update gimpcolorwheel comments (diff) | |
| download | inkscape-dc2df4c31910b81b0af706cf3a26e62d173cf602.tar.gz inkscape-dc2df4c31910b81b0af706cf3a26e62d173cf602.zip | |
update GdkSeat usage
Diffstat (limited to 'src')
| -rw-r--r-- | src/widgets/gimp/gimpcolorwheel.c | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/src/widgets/gimp/gimpcolorwheel.c b/src/widgets/gimp/gimpcolorwheel.c index e7ea6bf7b..8a1457db5 100644 --- a/src/widgets/gimp/gimpcolorwheel.c +++ b/src/widgets/gimp/gimpcolorwheel.c @@ -640,7 +640,7 @@ compute_v (GimpColorWheel *wheel, static void set_cross_grab (GimpColorWheel *wheel, - guint32 time) + GdkEvent *event) { GimpColorWheelPrivate *priv = wheel->priv; GdkCursor *cursor; @@ -649,14 +649,28 @@ set_cross_grab (GimpColorWheel *wheel, gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (wheel)), GDK_CROSSHAIR); - gdk_device_grab (gtk_get_current_event_device(), + GdkDevice *device = gtk_get_current_event_device(); +#if GTK_CHECK_VERSION(3,20,0) + GdkSeat *seat = gdk_device_get_seat(device); + gdk_seat_grab (seat, + priv->window, + GDK_SEAT_CAPABILITY_ALL_POINTING, + FALSE, + cursor, + event, + NULL, + NULL); +#else + gdk_device_grab (device, priv->window, GDK_OWNERSHIP_NONE, FALSE, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_RELEASE_MASK, - cursor, time); + cursor, event->time); +#endif + g_object_unref (cursor); } @@ -688,7 +702,7 @@ gimp_color_wheel_button_press (GtkWidget *widget, if (is_in_ring (wheel, x, y)) { priv->mode = DRAG_H; - set_cross_grab (wheel, event->time); + set_cross_grab (wheel, (GdkEvent *)event); gimp_color_wheel_set_color (wheel, compute_v (wheel, x, y), @@ -706,7 +720,7 @@ gimp_color_wheel_button_press (GtkWidget *widget, gdouble s, v; priv->mode = DRAG_SV; - set_cross_grab (wheel, event->time); + set_cross_grab (wheel, (GdkEvent *)event); compute_sv (wheel, x, y, &s, &v); gimp_color_wheel_set_color (wheel, priv->h, s, v); @@ -757,8 +771,14 @@ gimp_color_wheel_button_release (GtkWidget *widget, else g_assert_not_reached (); - gdk_device_ungrab (gtk_get_current_event_device(), - event->time); + GdkDevice *device = gtk_get_current_event_device(); +#if GTK_CHECK_VERSION(3,20,0) + GdkSeat *seat = gdk_device_get_seat(device); + gdk_seat_ungrab (seat); +#else + gdk_device_ungrab (device, + (GdkEvent *)event); +#endif return TRUE; } |
