diff --git a/src/effect/effectframe.cpp b/src/effect/effectframe.cpp index e92bee811e..901c80d2ea 100644 --- a/src/effect/effectframe.cpp +++ b/src/effect/effectframe.cpp @@ -229,9 +229,8 @@ EffectFrame::EffectFrame(EffectFrameStyle style, bool staticSize, QPoint positio connect(m_view, &OffscreenQuickScene::repaintNeeded, this, [this] { effects->addRepaint(geometry()); }); - connect(m_view, &OffscreenQuickScene::geometryChanged, this, [this](const QRect &oldGeometry, const QRect &newGeometry) { + connect(m_view, &OffscreenQuickScene::geometryChanged, this, [](const QRect &oldGeometry, const QRect &newGeometry) { effects->addRepaint(oldGeometry); - m_geometry = newGeometry; effects->addRepaint(newGeometry); }); } @@ -270,10 +269,9 @@ void EffectFrame::free() m_view->hide(); } -const QRect &EffectFrame::geometry() const +QRect EffectFrame::geometry() const { - // Can't forward to OffscreenQuickScene::geometry() because we return a reference. - return m_geometry; + return m_view->geometry(); } void EffectFrame::setGeometry(const QRect &geometry, bool force) diff --git a/src/effect/effectframe.h b/src/effect/effectframe.h index e502b391c2..90f470400e 100644 --- a/src/effect/effectframe.h +++ b/src/effect/effectframe.h @@ -139,7 +139,7 @@ public: void setAlignment(Qt::Alignment alignment); Qt::Alignment alignment() const; void setGeometry(const QRect &geometry, bool force = false); - const QRect &geometry() const; + QRect geometry() const; void setText(const QString &text); const QString &text() const; @@ -198,7 +198,6 @@ public: private: EffectFrameQuickScene *m_view; - QRect m_geometry; }; } // namespace KWin diff --git a/src/plugins/mouseclick/mouseclick.cpp b/src/plugins/mouseclick/mouseclick.cpp index 7877957141..03635e6872 100644 --- a/src/plugins/mouseclick/mouseclick.cpp +++ b/src/plugins/mouseclick/mouseclick.cpp @@ -203,8 +203,7 @@ void MouseClickEffect::repaint() for (auto &click : m_clicks) { dirtyRegion |= QRect(click->m_pos.x() - radius, click->m_pos.y() - radius, 2 * radius, 2 * radius); if (click->m_frame) { - // we grant the plasma style 32px padding for stuff like shadows... - dirtyRegion |= click->m_frame->geometry().adjusted(-32, -32, 32, 32); + dirtyRegion |= click->m_frame->geometry(); } } effects->addRepaint(dirtyRegion);