ensure the feedbackRect is always up-to-date

BUG: 304253
REVIEW: 105786
FIXED-IN: 4.9.1
This commit is contained in:
Thomas Lübking 2012-08-08 19:51:00 +02:00
parent 266a9d5218
commit f945131cf3

View file

@ -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();
}