From 2330040eb54f94d588e1287dca595eb9b8cfea25 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Tue, 15 Sep 2015 12:49:20 +0200 Subject: [PATCH] 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 --- lib/wibox/drawable.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/wibox/drawable.lua b/lib/wibox/drawable.lua index 82f7914f..4ba29c1f 100644 --- a/lib/wibox/drawable.lua +++ b/lib/wibox/drawable.lua @@ -73,7 +73,7 @@ local function do_redraw(self) local x, y, width, height = geom.x, geom.y, geom.width, geom.height -- Relayout - if self._need_relayout then + if self._need_relayout or self._need_complete_repaint then self._need_relayout = false local old_hierarchy = self._widget_hierarchy self._widget_hierarchy_callback_arg = {}