From 7508cd49e032f3784255dcf2177b40f31cc042ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Tue, 27 Jan 2015 11:01:22 +0100 Subject: [PATCH] Trigger rebuilding of quads after creating a new DecorationShadow If there were already a shadow, the quads are rebuild, but not if we created a new shadow. This is not a problem if the shadow exists before the quads are built for the first time (e.g. when managing the window), but if the shadow is created later on the quads are incorrect and the shadow doesn't get rendered at all. This happens for example with Aurorae based decoration themes, where the creation of the first shadow is delayed into the next event cycle. --- shadow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/shadow.cpp b/shadow.cpp index 4936a26c87..9581290b10 100644 --- a/shadow.cpp +++ b/shadow.cpp @@ -56,6 +56,11 @@ Shadow *Shadow::createShadow(Toplevel *toplevel) if (toplevel->effectWindow() && toplevel->effectWindow()->sceneWindow()) { toplevel->effectWindow()->sceneWindow()->updateShadow(shadow); } + if (shadow->hasDecorationShadow()) { + if (toplevel->effectWindow()) { + toplevel->effectWindow()->buildQuads(true); + } + } } return shadow; }