[effects/blur] Disable cached blur for deleted windows
This is a kind of workaround for the flicker of fading out windows. When a window is faded out it is a deleted and can by that be used as a sufficient solution to work around the problem. BUG: 307112 FIXED-IN: 5.2.0 REVIEW: 121909
This commit is contained in:
parent
f61d3ade84
commit
ca1354e8af
1 changed files with 2 additions and 2 deletions
|
@ -296,7 +296,7 @@ void BlurEffect::prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int t
|
||||||
const QRegion blurArea = blurRegion(w).translated(w->pos()) & screen;
|
const QRegion blurArea = blurRegion(w).translated(w->pos()) & screen;
|
||||||
const QRegion expandedBlur = expand(blurArea) & screen;
|
const QRegion expandedBlur = expand(blurArea) & screen;
|
||||||
|
|
||||||
if (m_shouldCache) {
|
if (m_shouldCache && !w->isDeleted()) {
|
||||||
// we are caching the horizontally blurred background texture
|
// we are caching the horizontally blurred background texture
|
||||||
|
|
||||||
// if a window underneath the blurred area is damaged we have to
|
// if a window underneath the blurred area is damaged we have to
|
||||||
|
@ -403,7 +403,7 @@ void BlurEffect::drawWindow(EffectWindow *w, int mask, QRegion region, WindowPai
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!shape.isEmpty()) {
|
if (!shape.isEmpty()) {
|
||||||
if (m_shouldCache && !translated) {
|
if (m_shouldCache && !translated && !w->isDeleted()) {
|
||||||
doCachedBlur(w, region, data.opacity());
|
doCachedBlur(w, region, data.opacity());
|
||||||
} else {
|
} else {
|
||||||
doBlur(shape, screen, data.opacity());
|
doBlur(shape, screen, data.opacity());
|
||||||
|
|
Loading…
Reference in a new issue