[PATCH weston] shell: Allow ending of popup grabs from within the starting of the grab
Eoff, Ullysses A
ullysses.a.eoff at intel.com
Wed Jun 26 12:05:22 PDT 2013
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.com at lists.freedesktop.org [mailto:wayland-devel-
> bounces+ullysses.a.eoff=intel.com at lists.freedesktop.org] On Behalf Of Rob Bradford
> Sent: Wednesday, June 26, 2013 11:49 AM
> To: wayland-devel at lists.freedesktop.org
> Cc: Rob Bradford
> Subject: [PATCH weston] shell: Allow ending of popup grabs from within the starting of the grab
>
> From: Rob Bradford <rob at linux.intel.com>
>
> 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
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list