From: Emilio Pozuelo Monfort <[email protected]>

Unfocusing a surface should dim it when dim-layer is enabled,
but this got broken in commit 83ffd9.
---
 desktop-shell/shell.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index f85a269..cca96be 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -4141,6 +4141,7 @@ activate(struct desktop_shell *shell, struct 
weston_surface *es,
         struct weston_seat *seat)
 {
        struct weston_surface *main_surface;
+       struct weston_view *main_view;
        struct focus_state *state;
        struct workspace *ws;
        struct weston_surface *old_es;
@@ -4162,8 +4163,18 @@ activate(struct desktop_shell *shell, struct 
weston_surface *es,
        shsurf = get_shell_surface(main_surface);
        if (shsurf->state.fullscreen)
                shell_configure_fullscreen(shsurf);
-       else
+       else {
+               ws = get_current_workspace(shell);
+               main_view = get_default_view(main_surface);
+               if (main_view) {
+                       wl_list_remove(&main_view->layer_link);
+                       wl_list_insert(&ws->layer.view_list, 
&main_view->layer_link);
+                       weston_view_damage_below(main_view);
+                       weston_surface_damage(main_view->surface);
+               }
+
                restore_all_output_modes(shell->compositor);
+       }
 
        if (shell->focus_animation_type != ANIMATION_NONE) {
                ws = get_current_workspace(shell);
-- 
1.8.5.2

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to