On Wed, Aug 26, 2015 at 05:13:27PM -0500, Derek Foreman wrote:
> We discard motion outside the window on the assumption it's from before
> some event that caused the window to shrink. However, if we have a grab
> it's likely that this motion is actually from dragging from the inside
> of the window out.
> 
> This fixes a problem where drag selecting in weston terminal behaves
> oddly - it doesn't update the select region while the drag is happening
> outside the window.
> 
> Signed-off-by: Derek Foreman <[email protected]>

Tested-by: Luis de Bethencourt <[email protected]>

> ---
>  clients/window.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/clients/window.c b/clients/window.c
> index 52de248..9c20480 100644
> --- a/clients/window.c
> +++ b/clients/window.c
> @@ -2746,12 +2746,13 @@ pointer_handle_motion(void *data, struct wl_pointer 
> *pointer,
>  
>       /* when making the window smaller - e.g. after a unmaximise we might
>        * still have a pending motion event that the compositor has picked
> -      * based on the old surface dimensions
> +      * based on the old surface dimensions. However, if we have an active
> +      * grab, we expect to see input from outside the window anyway.
>        */
> -     if (sx < window->main_surface->allocation.x ||
> +     if (!input->grab && (sx < window->main_surface->allocation.x ||
>           sy < window->main_surface->allocation.y ||
>           sx > window->main_surface->allocation.width ||
> -         sy > window->main_surface->allocation.height)
> +         sy > window->main_surface->allocation.height))
>               return;
>  
>       if (!(input->grab && input->grab_button)) {
> -- 
> 2.4.6
> 
> _______________________________________________
> wayland-devel mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to