[PATCH] input: add new client to resource_list instead of focus_resource_list

Derek Foreman derekf at osg.samsung.com
Fri Oct 9 08:18:24 PDT 2015


On 09/10/15 03:28 AM, Chokshi, Mitul wrote:
> 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.
> ---
>  src/input.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/input.c b/src/input.c
> index e230c83..38da624 100644
> --- a/src/input.c
> +++ b/src/input.c
> @@ -1934,10 +1934,10 @@ seat_get_touch(struct wl_client *client, struct wl_resource *resource,
>  
>  	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,

Ouch, nice catch.  Logic looks pretty obviously inverted...

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>

>  			       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,
> 



More information about the wayland-devel mailing list