summaryrefslogtreecommitdiff
path: root/gtk/gtkgesturerotate.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-05-06 11:43:31 +0200
committerCarlos Garnacho <carlosg@gnome.org>2014-05-23 19:54:29 +0200
commit4589f0e0c841c58b4418cecded0ad3a2a4f6e9d2 (patch)
tree28ae490d2a270da5fb4a4f5371ef9acf769c0bfa /gtk/gtkgesturerotate.c
parentc34280d97b763f2550c87b4e046b2679712c65f3 (diff)
downloadgtk+-4589f0e0c841c58b4418cecded0ad3a2a4f6e9d2.tar.gz
rotate: Ensure delta is between [0..2π]
Diffstat (limited to 'gtk/gtkgesturerotate.c')
-rw-r--r--gtk/gtkgesturerotate.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtkgesturerotate.c b/gtk/gtkgesturerotate.c
index 952129878f..ec8b12ae1c 100644
--- a/gtk/gtkgesturerotate.c
+++ b/gtk/gtkgesturerotate.c
@@ -110,15 +110,18 @@ static gboolean
_gtk_gesture_rotate_check_emit (GtkGestureRotate *gesture)
{
GtkGestureRotatePrivate *priv;
- gdouble angle;
+ gdouble angle, delta;
if (!_gtk_gesture_rotate_get_angle (gesture, &angle))
return FALSE;
priv = gtk_gesture_rotate_get_instance_private (gesture);
+ delta = angle - priv->initial_angle;
+
+ if (delta < 0)
+ delta += 2 * G_PI;
- g_signal_emit (gesture, signals[ANGLE_CHANGED], 0,
- angle, angle - priv->initial_angle);
+ g_signal_emit (gesture, signals[ANGLE_CHANGED], 0, angle, delta);
return TRUE;
}