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);