summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Bradford <rob@linux.intel.com>2013-05-20 12:09:20 +0100
committerKristian Høgsberg <krh@bitplanet.net>2013-05-20 16:53:49 -0400
commit2f8d9aacfa940af2c9424224c90ac2b77b0a4f58 (patch)
treed7db88a1492d526c9da26871e481dba0884f4d54
parent419e2bae92a89eb1f69fb127078f974965214bc2 (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.c2
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);
}