diff --git a/effects/blur/blur.cpp b/effects/blur/blur.cpp index 1c1a92e5c7..f4e4061090 100644 --- a/effects/blur/blur.cpp +++ b/effects/blur/blur.cpp @@ -416,7 +416,7 @@ QRegion BlurEffect::blurRegion(const EffectWindow *w) const const QRegion appRegion = qvariant_cast(value); if (!appRegion.isEmpty()) { if (w->decorationHasAlpha() && effects->decorationSupportsBlurBehind()) { - region = w->shape(); + region = w->shape() & w->rect(); region -= w->decorationInnerRect(); } region |= appRegion.translated(w->contentsRect().topLeft()) & @@ -424,12 +424,12 @@ QRegion BlurEffect::blurRegion(const EffectWindow *w) const } else { // An empty region means that the blur effect should be enabled // for the whole window. - region = w->shape(); + region = w->shape() & w->rect(); } } else if (w->decorationHasAlpha() && effects->decorationSupportsBlurBehind()) { // If the client hasn't specified a blur region, we'll only enable // the effect behind the decoration. - region = w->shape(); + region = w->shape() & w->rect(); region -= w->decorationInnerRect(); }