diff options
author | Rob Bradford <rob@linux.intel.com> | 2013-05-20 12:09:20 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-05-20 16:53:49 -0400 |
commit | 2f8d9aacfa940af2c9424224c90ac2b77b0a4f58 (patch) | |
tree | d7db88a1492d526c9da26871e481dba0884f4d54 | |
parent | 419e2bae92a89eb1f69fb127078f974965214bc2 (diff) |
shell: End grab if the grabbed shell surface has been destroyed
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
-rw-r--r-- | src/shell.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shell.c b/src/shell.c index f5d5bfff..72615702 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); } |