From ca1354e8afd9242299b16389523e97392df8bed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Thu, 8 Jan 2015 08:44:47 +0100 Subject: [PATCH] [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 --- effects/blur/blur.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/effects/blur/blur.cpp b/effects/blur/blur.cpp index 726b789d73..e238bd2ed8 100644 --- a/effects/blur/blur.cpp +++ b/effects/blur/blur.cpp @@ -296,7 +296,7 @@ void BlurEffect::prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int t const QRegion blurArea = blurRegion(w).translated(w->pos()) & screen; const QRegion expandedBlur = expand(blurArea) & screen; - if (m_shouldCache) { + if (m_shouldCache && !w->isDeleted()) { // we are caching the horizontally blurred background texture // 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 (m_shouldCache && !translated) { + if (m_shouldCache && !translated && !w->isDeleted()) { doCachedBlur(w, region, data.opacity()); } else { doBlur(shape, screen, data.opacity());