When new client registers touch listener, it was added to focus resource list.
At this point if another client "without" touch listener is in focus then
subsequent touch events are sent to new client with another client's resources
causing new client to stop rendering.
Now new client is added to resource list by default and it'll be added to focus
resource list only if its in focus.
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
if (touch->focus &&
wl_resource_get_client(touch->focus->surface->resource) == client) {
- wl_list_insert(&touch->resource_list,
+ wl_list_insert(&touch->focus_resource_list,
wl_resource_get_link(cr));
} else {
- wl_list_insert(&touch->focus_resource_list,
+ wl_list_insert(&touch->resource_list,
wl_resource_get_link(cr));
}
wl_resource_set_implementation(cr, &touch_interface,