diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2015-09-11 14:30:39 -0500 |
---|---|---|
committer | Bryce Harrington <bryce@osg.samsung.com> | 2015-09-14 11:33:31 -0700 |
commit | c0c1497f999cea4d488ed334636b00b227fdca13 (patch) | |
tree | e8e5f47eb6fa62d79234382a16061899f30a8024 /desktop-shell | |
parent | ca510d06dca3e47e434a50cee105e96c9e82599c (diff) |
shell: Make sure we actually have a resource in end_busy_cursor
It's actually possible to get here after the surface has been destroyed,
especially when running client apps under valgrind.
That probably shouldn't be able to segfault the compositor.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Diffstat (limited to 'desktop-shell')
-rw-r--r-- | desktop-shell/shell.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 034d39b9..ecc42c56 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -2119,6 +2119,7 @@ end_busy_cursor(struct weston_compositor *compositor, struct wl_client *client) grab = (struct shell_grab *) pointer->grab; if (grab->grab.interface == &busy_cursor_grab_interface && + grab->shsurf->resource && wl_resource_get_client(grab->shsurf->resource) == client) { shell_grab_end(grab); free(grab); |