At 1250273039 time_t, Uli Schlachter wrote:
> diff --git a/wibox.c b/wibox.c
> index 7220f6e..6ef1715 100644
> --- a/wibox.c
> +++ b/wibox.c
> @@ -54,6 +54,9 @@ static void
>  wibox_need_update(wibox_t *wibox)
>  {
>      wibox->need_update = true;
> +    /* All out callers change the position of some widgets which means we 
> should
> +     * generate a new mouse_enter event.
> +     */

Yeah.

>      wibox->mouse_over = NULL;
>  }
>  
> @@ -791,8 +794,10 @@ luaA_wibox_invalidate_byitem(lua_State *L, const void 
> *item)
>          wibox_t *wibox = *w;
>          if(luaA_wibox_hasitem(L, wibox, item))
>          {
> -            /* update wibox */
> -            wibox_need_update(wibox);
> +            /* update wibox. Don't use wibox_need_update() here because for 
> this
> +             * specific case we don't want to touch wibox->mouse_over!
> +             */
> +            wibox->need_update = true;
>              lua_pop(L, 1); /* remove widgets table */
>          }

But AFAIU we want: the change of a widget in the table may say that we
are removing/adding a widget, so we need to redraw and that position may
change.

So I think your patch works in this specific case but has drawbacks in a
more general way. :)

-- 
Julien Danjou
// ᐰ <jul...@danjou.info>   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// I'm no superman.

Attachment: signature.asc
Description: Digital signature

Reply via email to