summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/grail-gestures.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/grail-gestures.c b/src/grail-gestures.c
index fd8b26b..dde8d60 100644
--- a/src/grail-gestures.c
+++ b/src/grail-gestures.c
@@ -166,6 +166,7 @@ void gru_init_motion(struct grail *ge)
166void gru_motion(struct grail *ge, 166void gru_motion(struct grail *ge,
167 const struct utouch_frame *frame) 167 const struct utouch_frame *frame)
168{ 168{
169 const struct utouch_surface *s = utouch_frame_get_surface(ge->impl->fh);
169 struct gesture_recognizer *gru = ge->gru; 170 struct gesture_recognizer *gru = ge->gru;
170 struct move_model *m = &gru->move; 171 struct move_model *m = &gru->move;
171 grail_time_t t = frame->time; 172 grail_time_t t = frame->time;
@@ -196,8 +197,10 @@ void gru_motion(struct grail *ge,
196 r = compute_radius(x, y, frame); 197 r = compute_radius(x, y, frame);
197 r = move_filter(&m->fm[FM_R], r); 198 r = move_filter(&m->fm[FM_R], r);
198 a = m->fm[FM_A].value; 199 a = m->fm[FM_A].value;
199 a += compute_rotation(x, y, r, frame); 200 if (!s->is_semi_mt) {
200 a = move_filter(&m->fm[FM_A], a); 201 a += compute_rotation(x, y, r, frame);
202 a = move_filter(&m->fm[FM_A], a);
203 }
201 move_update(m, FM_X, x, t); 204 move_update(m, FM_X, x, t);
202 move_update(m, FM_Y, y, t); 205 move_update(m, FM_Y, y, t);
203 move_update(m, FM_R, r, t); 206 move_update(m, FM_R, r, t);