[PATCH] dim-layer: fix dimming for unfocused surfaces

Emilio Pozuelo Monfort pochu27 at gmail.com
Thu Jan 30 01:54:32 PST 2014


Hi Ander,

On 29/01/14 16:09, Ander Conselvan de Oliveira wrote:
> On 01/15/2014 10:30 AM, Emilio Pozuelo Monfort wrote:
>> bump
>>
>> On 07/01/14 17:23, pochu27 at gmail.com wrote:
>>> From: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
>>>
>>> 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);
>>> +        }
> 
> So you're basically rewriting weston_view_restack() here. Wouldn't a better fix
> be to move the animation logic below the call to shell_surface_update_layer(),
> which is the place where the surface is restacked after the commit you mentioned.

You are absolutely right. I'll send a new patch soon together with other fixes
for fullscreen surfaces.

Regards,
Emilio


More information about the wayland-devel mailing list