compositor: Send touch_up before clearing touch focus
Otherwise it never gets sent.
This commit is contained in:
@@ -1519,19 +1519,20 @@ notify_touch(struct wl_input_device *device, uint32_t time, int touch_id,
|
|||||||
wlsc_surface_transform(es, x, y, &sx, &sy);
|
wlsc_surface_transform(es, x, y, &sx, &sy);
|
||||||
if (wd->touch_focus_resource)
|
if (wd->touch_focus_resource)
|
||||||
wl_resource_post_event(wd->touch_focus_resource,
|
wl_resource_post_event(wd->touch_focus_resource,
|
||||||
touch_type, time, touch_id, sx, sy);
|
touch_type, time,
|
||||||
|
touch_id, sx, sy);
|
||||||
break;
|
break;
|
||||||
case WL_INPUT_DEVICE_TOUCH_UP:
|
case WL_INPUT_DEVICE_TOUCH_UP:
|
||||||
wlsc_compositor_idle_release(ec);
|
wlsc_compositor_idle_release(ec);
|
||||||
wd->num_tp--;
|
wd->num_tp--;
|
||||||
|
|
||||||
|
if (wd->touch_focus_resource)
|
||||||
|
wl_resource_post_event(wd->touch_focus_resource,
|
||||||
|
touch_type, time, touch_id);
|
||||||
if (wd->num_tp == 0) {
|
if (wd->num_tp == 0) {
|
||||||
wd->touch_focus = NULL;
|
wd->touch_focus = NULL;
|
||||||
wd->touch_focus_resource = NULL;
|
wd->touch_focus_resource = NULL;
|
||||||
}
|
}
|
||||||
if (wd->touch_focus_resource)
|
|
||||||
wl_resource_post_event(wd->touch_focus_resource,
|
|
||||||
touch_type, time, touch_id);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user