This prevents issues that arise when using multiple seats (at least with the current implementation in text-backend.c). --- src/shell.c | 6 ++++++ 1 Datei geändert, 6 Zeilen hinzugefügt(+)
diff --git a/src/shell.c b/src/shell.c index 87e688c..3dd2f6e 100644 --- a/src/shell.c +++ b/src/shell.c @@ -2541,6 +2541,9 @@ show_input_panels(struct wl_listener *listener, void *data) struct input_panel_surface *surface, *next; struct weston_surface *ws; + if (shell->showing_input_panels) + return; + shell->showing_input_panels = true; wl_list_insert(&shell->panel_layer.link, @@ -2565,6 +2568,9 @@ hide_input_panels(struct wl_listener *listener, void *data) hide_input_panel_listener); struct weston_surface *surface, *next; + if (!shell->showing_input_panels) + return; + shell->showing_input_panels = false; wl_list_remove(&shell->input_panel_layer.link); -- 1.7.11.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel