Commit 213239a0 authored by Vlad Zahorodnii's avatar Vlad Zahorodnii

[shadow] Rebuild quads after creation of shadow

Summary:
If a shadow is installed for already rendered window, the shadow won't
be initially rendered because we don't rebuild window quad cache.

BUG: 398572
FIXED-IN: 5.14.0

Test Plan: Can't reproduce 398572 anymore.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15475
parent 0a2e51db
...@@ -60,15 +60,14 @@ Shadow *Shadow::createShadow(Toplevel *toplevel) ...@@ -60,15 +60,14 @@ Shadow *Shadow::createShadow(Toplevel *toplevel)
if (!shadow && kwinApp()->x11Connection()) { if (!shadow && kwinApp()->x11Connection()) {
shadow = createShadowFromX11(toplevel); shadow = createShadowFromX11(toplevel);
} }
if (shadow) { if (!shadow) {
if (toplevel->effectWindow() && toplevel->effectWindow()->sceneWindow()) { return nullptr;
toplevel->effectWindow()->sceneWindow()->updateShadow(shadow); }
} if (toplevel->effectWindow() && toplevel->effectWindow()->sceneWindow()) {
if (shadow->hasDecorationShadow()) { toplevel->effectWindow()->sceneWindow()->updateShadow(shadow);
if (toplevel->effectWindow()) { }
toplevel->effectWindow()->buildQuads(true); if (toplevel->effectWindow()) {
} toplevel->effectWindow()->buildQuads(true);
}
} }
return shadow; return shadow;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment