[PATCH weston] shell: Update focused surface pointer coordinates in popup grab

Pekka Paalanen ppaalanen at gmail.com
Mon Aug 18 05:37:58 PDT 2014


On Mon, 11 Aug 2014 22:44:02 +0200
Jonas Ådahl <jadahl at gmail.com> wrote:

> The commit 'input: Send leave and enter pair when the surface moves
> under the cursor' introduced focused surface local pointer coordinates
> to keep track of if a surface had been moved or transformed in a way
> that the pointer posititon relative to that surface would change.
> Update these coordinates also for the popup grab as otherwise every
> pointer motion during a popup grab results in leave and then enter
> events.
> 
> Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
> ---
>  desktop-shell/shell.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index 3c3649c..3c15f70 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -2979,6 +2979,11 @@ popup_grab_motion(struct weston_pointer_grab *grab, uint32_t time,
>  	struct wl_resource *resource;
>  	wl_fixed_t sx, sy;
>  
> +	if (pointer->focus) {
> +		weston_view_from_global_fixed(pointer->focus, x, y,
> +					      &pointer->sx, &pointer->sy);
> +	}
> +
>  	weston_pointer_move(pointer, x, y);
>  
>  	wl_resource_for_each(resource, &pointer->focus_resource_list) {

Confirmed and pushed.


Thanks,
pq


More information about the wayland-devel mailing list