From f945131cf3f293a333d6f7d637a4c1f478b91850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Wed, 8 Aug 2012 19:51:00 +0200 Subject: [PATCH] ensure the feedbackRect is always up-to-date BUG: 304253 REVIEW: 105786 FIXED-IN: 4.9.1 --- effects/startupfeedback/startupfeedback.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/effects/startupfeedback/startupfeedback.cpp b/effects/startupfeedback/startupfeedback.cpp index f3388b56a9..ff6a51e4ec 100644 --- a/effects/startupfeedback/startupfeedback.cpp +++ b/effects/startupfeedback/startupfeedback.cpp @@ -165,6 +165,8 @@ void StartupFeedbackEffect::prePaintScreen(ScreenPrePaintData& data, int time) } data.paint.unite(m_dirtyRect); m_dirtyRect = QRect(); + m_currentGeometry = feedbackRect(); + data.paint.unite(m_currentGeometry); } effects->prePaintScreen(data, time); } @@ -311,12 +313,12 @@ void StartupFeedbackEffect::start(const QString& icon) if (!m_active) effects->startMousePolling(); m_active = true; - m_dirtyRect = m_currentGeometry = feedbackRect(); QPixmap iconPixmap = KIconLoader::global()->loadIcon(icon, KIconLoader::Small, 0, KIconLoader::DefaultState, QStringList(), 0, true); // return null pixmap if not found if (iconPixmap.isNull()) iconPixmap = SmallIcon("system-run"); prepareTextures(iconPixmap); + m_dirtyRect = m_currentGeometry = feedbackRect(); effects->addRepaintFull(); }