- // Invoke updateStatusBar() with a small delay. This assures that
- // when a lot of delayedStatusBarUpdates() are done in a short time,
- // no bottleneck is given.
- m_statusBarTimer->start();
+ if (m_statusBarTimer->isActive() && (m_statusBarTimestamp.elapsed() > 2000)) {
+ // No update of the statusbar has been done during the last 2 seconds,
+ // although an update has been requested. Trigger an immediate update.
+ m_statusBarTimer->stop();
+ updateStatusBar();
+ } else {
+ // Invoke updateStatusBar() with a small delay. This assures that
+ // when a lot of delayedStatusBarUpdates() are done in a short time,
+ // no bottleneck is given.
+ m_statusBarTimer->start();
+ }