[PATCH weston] shell: End grab if the grabbed shell surface has been destroyed

Rob Bradford robert.bradford at intel.com
Mon May 20 04:13:34 PDT 2013


I should add that although I think that this patch fixes the bug, i've
written it by inspection of the code & backtraces only as I was unable
to reproduce the issue. Artie, perhaps you could try this and give me
a Tested-by if it resolves the problem.

Cheers,

Rob

On 20 May 2013 12:09, Rob Bradford <robert.bradford at intel.com> wrote:
> From: Rob Bradford <rob at linux.intel.com>
>
> The shell_grab_start function sets up a destroy notification on the
> shell surface such that when the shell surface is destroyed the pointer
> on the grab to the shell surface is set to NULL.
>
> We must therefore check whether the shell surface is NULL and end the
> grab if it is.
>
> https://bugs.freedesktop.org/show_bug.cgi?id=64689
> ---
>  src/shell.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/shell.c b/src/shell.c
> index f5d5bff..7261570 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -1296,7 +1296,7 @@ busy_cursor_grab_focus(struct weston_pointer_grab *base)
>                                                  pointer->x, pointer->y,
>                                                  &sx, &sy);
>
> -       if (grab->shsurf->surface != surface) {
> +       if (!grab->shsurf || grab->shsurf->surface != surface) {
>                 shell_grab_end(grab);
>                 free(grab);
>         }
> --
> 1.8.1.4
>


More information about the wayland-devel mailing list