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.
This commit is contained in:
Martin Gräßlin 2015-01-27 11:01:22 +01:00
parent 1e41e3e674
commit 7508cd49e0

View file

@ -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;
}