summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2017-07-10 23:51:35 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2017-07-10 23:51:35 +0000
commitdc2df4c31910b81b0af706cf3a26e62d173cf602 (patch)
treea97f3301a2b9c67bc4222606b4b112cb883a9d17 /src
parentUse new GdkSeat API and update gimpcolorwheel comments (diff)
downloadinkscape-dc2df4c31910b81b0af706cf3a26e62d173cf602.tar.gz
inkscape-dc2df4c31910b81b0af706cf3a26e62d173cf602.zip
update GdkSeat usage
Diffstat (limited to 'src')
-rw-r--r--src/widgets/gimp/gimpcolorwheel.c34
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;
}