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>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 034d39b..ecc42c5 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -2119,6 +2119,7 @@
 
 		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);