From: Quentin Glidic <[email protected]> This way, other modules can safely add layers before or after the shell layers without breaking the list on lock/unlock
Signed-off-by: Quentin Glidic <[email protected]> --- src/shell.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/shell.c b/src/shell.c index 316cfdc..1ac17c6 100644 --- a/src/shell.c +++ b/src/shell.c @@ -2503,19 +2503,16 @@ resume_desktop(struct desktop_shell *shell) terminate_screensaver(shell); - wl_list_remove(&shell->lock_layer.link); - wl_list_insert(&shell->compositor->cursor_layer.link, + wl_list_insert(&shell->lock_layer.link, &shell->fullscreen_layer.link); + wl_list_remove(&shell->lock_layer.link); wl_list_insert(&shell->fullscreen_layer.link, &shell->panel_layer.link); - if (shell->showing_input_panels) { + wl_list_insert(&shell->panel_layer.link, + &ws->layer.link); + if (shell->showing_input_panels) wl_list_insert(&shell->panel_layer.link, &shell->input_panel_layer.link); - wl_list_insert(&shell->input_panel_layer.link, - &ws->layer.link); - } else { - wl_list_insert(&shell->panel_layer.link, &ws->layer.link); - } restore_focus_state(shell, get_current_workspace(shell)); @@ -2976,12 +2973,12 @@ lock(struct desktop_shell *shell) * input events while we are locked. */ wl_list_remove(&shell->panel_layer.link); - wl_list_remove(&shell->fullscreen_layer.link); if (shell->showing_input_panels) wl_list_remove(&shell->input_panel_layer.link); wl_list_remove(&ws->layer.link); - wl_list_insert(&shell->compositor->cursor_layer.link, + wl_list_insert(&shell->fullscreen_layer.link, &shell->lock_layer.link); + wl_list_remove(&shell->fullscreen_layer.link); launch_screensaver(shell); -- 1.8.2.3 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
