View: clear canceled_event pointer

This is needed, as GdkEvent pointers are not guaranteed to be unique
This commit is contained in:
Julian Winkler
2024-03-27 22:55:06 +01:00
parent 9b9e046d68
commit 66e5d77959

View File

@@ -70,9 +70,13 @@ static gboolean on_event(GtkEventControllerLegacy *event_controller, GdkEvent *e
guint32 timestamp = gdk_event_get_time(event); guint32 timestamp = gdk_event_get_time(event);
// TODO: this doesn't work for multitouch // TODO: this doesn't work for multitouch
if (event == canceled_event && cancel_triggerer != d) { if (cancel_triggerer == d) { // cancel done
canceled_event = NULL;
cancel_triggerer = NULL;
} else if (event == canceled_event) {
gdk_event_get_widget_relative_position(event, widget, &x, &y); gdk_event_get_widget_relative_position(event, widget, &x, &y);
return call_ontouch_callback(MOTION_EVENT_ACTION_CANCEL, x, y, d, phase, timestamp, event); call_ontouch_callback(MOTION_EVENT_ACTION_CANCEL, x, y, d, phase, timestamp, event);
return false;
} }
switch(gdk_event_get_event_type(event)) { switch(gdk_event_get_event_type(event)) {
case GDK_BUTTON_PRESS: case GDK_BUTTON_PRESS: