mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-12 13:30:19 +00:00
Merge branch 'wip/carlosg/sequence-accepted-in-group' into 'master'
gtkgesture: Apply gesture group state after setting up sequence Closes #3946 See merge request GNOME/gtk!3560
This commit is contained in:
commit
7de266a620
@ -477,8 +477,6 @@ _gtk_gesture_update_point (GtkGesture *gesture,
|
||||
NULL, (gpointer *) &data);
|
||||
if (!existed)
|
||||
{
|
||||
GtkEventSequenceState group_state;
|
||||
|
||||
if (!add)
|
||||
return FALSE;
|
||||
|
||||
@ -490,9 +488,6 @@ _gtk_gesture_update_point (GtkGesture *gesture,
|
||||
|
||||
data = g_new0 (PointData, 1);
|
||||
g_hash_table_insert (priv->points, sequence, data);
|
||||
|
||||
group_state = gtk_gesture_get_group_state (gesture, sequence);
|
||||
gtk_gesture_set_sequence_state (gesture, sequence, group_state);
|
||||
}
|
||||
|
||||
if (data->event)
|
||||
@ -504,13 +499,24 @@ _gtk_gesture_update_point (GtkGesture *gesture,
|
||||
data->widget_x = x + data->accum_dx;
|
||||
data->widget_y = y + data->accum_dy;
|
||||
|
||||
/* Deny the sequence right away if the expected
|
||||
* number of points is exceeded, so this sequence
|
||||
* can be tracked with gtk_gesture_handles_sequence().
|
||||
*/
|
||||
if (!existed && _gtk_gesture_get_n_physical_points (gesture, FALSE) > priv->n_points)
|
||||
gtk_gesture_set_sequence_state (gesture, sequence,
|
||||
GTK_EVENT_SEQUENCE_DENIED);
|
||||
if (!existed)
|
||||
{
|
||||
GtkEventSequenceState state;
|
||||
|
||||
/* Deny the sequence right away if the expected
|
||||
* number of points is exceeded, so this sequence
|
||||
* can be tracked with gtk_gesture_handles_sequence().
|
||||
*
|
||||
* Otherwise, make the sequence inherit the same state
|
||||
* from other gestures in the same group.
|
||||
*/
|
||||
if (_gtk_gesture_get_n_physical_points (gesture, FALSE) > priv->n_points)
|
||||
state = GTK_EVENT_SEQUENCE_DENIED;
|
||||
else
|
||||
state = gtk_gesture_get_group_state (gesture, sequence);
|
||||
|
||||
gtk_gesture_set_sequence_state (gesture, sequence, state);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user