compositor: Avoid sending event for invalid point
Avoid sending a touch down event using uninitialised surface x/y co-ordinates. Instead present a log message about this unexpected case.
This commit is contained in:
committed by
Kristian Høgsberg
parent
ba1e292779
commit
26e009cd9c
@@ -2043,6 +2043,13 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id,
|
|||||||
} else if (touch->focus) {
|
} else if (touch->focus) {
|
||||||
es = (struct weston_surface *) touch->focus;
|
es = (struct weston_surface *) touch->focus;
|
||||||
weston_surface_from_global_fixed(es, x, y, &sx, &sy);
|
weston_surface_from_global_fixed(es, x, y, &sx, &sy);
|
||||||
|
} else {
|
||||||
|
/* Unexpected condition: We have non-initial touch but
|
||||||
|
* there is no focused surface.
|
||||||
|
*/
|
||||||
|
weston_log("touch event received with %d points down"
|
||||||
|
"but no surface focused\n", seat->num_tp);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
grab->interface->down(grab, time, touch_id, sx, sy);
|
grab->interface->down(grab, time, touch_id, sx, sy);
|
||||||
|
|||||||
Reference in New Issue
Block a user