Confirmed. This patch fixes https://bugs.freedesktop.org/show_bug.cgi?id=66167

----
U. Artie 


> -----Original Message-----
> From: wayland-devel-bounces+ullysses.a.eoff=intel....@lists.freedesktop.org 
> [mailto:wayland-devel-
> [email protected]] On Behalf Of Rob 
> Bradford
> Sent: Wednesday, June 26, 2013 11:49 AM
> To: [email protected]
> Cc: Rob Bradford
> Subject: [PATCH weston] shell: Allow ending of popup grabs from within the 
> starting of the grab
> 
> From: Rob Bradford <[email protected]>
> 
> Calling weston_pointer_start_grab can lead to a code path (in this case
> when the shell surface is unresponsive) that can try and remove the
> popup grab to setup a shell grab.
> 
> Ending the popup grab requires removing the surface from the grab's
> surfaces list - however the grab had not yet been fully setup so the
> grabbed surface was not yet in this list.
> 
> With this change we ensure we add the surface to the list before setting
> up the pointer grab.
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=66167
> ---
>  src/shell.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/shell.c b/src/shell.c
> index 9869db5..b20b1e1 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -2121,9 +2121,11 @@ add_popup_grab(struct shell_surface *shsurf, struct 
> shell_seat *shseat)
>               if (shseat->seat->pointer->button_count > 0)
>                       shseat->popup_grab.initial_up = 0;
> 
> +             wl_list_insert(&shseat->popup_grab.surfaces_list, 
> &shsurf->popup.grab_link);
>               weston_pointer_start_grab(seat->pointer, 
> &shseat->popup_grab.grab);
> +     } else {
> +             wl_list_insert(&shseat->popup_grab.surfaces_list, 
> &shsurf->popup.grab_link);
>       }
> -     wl_list_insert(&shseat->popup_grab.surfaces_list, 
> &shsurf->popup.grab_link);
>  }
> 
>  static void
> --
> 1.8.3.1
> 
> _______________________________________________
> 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