wibox.drawable: Fix complete repaints

When a complete repaint is scheduled, also do a relayout, because this is also
the case that we go through when the underlying cairo surface is resized. For
example, resizing a client with a titlebar would trigger this.

Also, going through this code path is necessary since this is the only place
where the dirty area is updated so that it includes "everything". Before this
change, nothing was actually redrawn, because the dirty area was empty.

Fixes: https://github.com/awesomeWM/awesome/issues/449

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter 2015-09-15 12:49:20 +02:00
parent 5e4318c15d
commit 2330040eb5
1 changed files with 1 additions and 1 deletions

View File

@ -73,7 +73,7 @@ local function do_redraw(self)
local x, y, width, height = geom.x, geom.y, geom.width, geom.height local x, y, width, height = geom.x, geom.y, geom.width, geom.height
-- Relayout -- Relayout
if self._need_relayout then if self._need_relayout or self._need_complete_repaint then
self._need_relayout = false self._need_relayout = false
local old_hierarchy = self._widget_hierarchy local old_hierarchy = self._widget_hierarchy
self._widget_hierarchy_callback_arg = {} self._widget_hierarchy_callback_arg = {}