input: check if the focus surface has a valid resource

the resource can be NULL in some cases, like when the focus is
taken by the black_surface used in shell.c as fullscreen background.
diff --git a/src/input.c b/src/input.c
index e670eb6..ad4512d 100644
--- a/src/input.c
+++ b/src/input.c
@@ -1110,6 +1110,11 @@
 
 	if (pointer->focus == NULL)
 		return;
+	/* pointer->focus->resource can be NULL. Surfaces like the
+	black_surface used in shell.c for fullscreen don't have
+	a resource, but can still have focus */
+	if (pointer->focus->resource == NULL)
+		return;
 	if (wl_resource_get_client(pointer->focus->resource) != client)
 		return;
 	if (pointer->focus_serial - serial > UINT32_MAX / 2)