input: Handle unplugging the output for a touchscreen device

A paired touch screen will stop sending events if its corresponding
output is unplugged.  An unpaired touchscreen will pick the new primary
output.

https://bugs.freedesktop.org/show_bug.cgi?id=73637
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 3ef6424..79e6518 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -1795,7 +1795,7 @@
 	shsurf->unresponsive = 1;
 
 	wl_list_for_each(seat, &shsurf->surface->compositor->seat_list, link)
-		if (seat->pointer && seat->pointer->focus &&
+		if (seat->pointer->focus &&
 		    seat->pointer->focus->surface == shsurf->surface)
 			set_busy_cursor(shsurf, seat->pointer);
 
@@ -5432,6 +5432,8 @@
 	struct workspace **ws;
 	struct shell_output *shell_output, *tmp;
 
+	/* Force state to unlocked so we don't try to fade */
+	shell->locked = false;
 	if (shell->child.client)
 		wl_client_destroy(shell->child.client);