aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <ppenz@openismus.com>2011-01-21 11:25:40 +0100
committerHolger Schröder <holger.schroeder.ext@basyskom.de>2011-01-25 16:09:03 +0100
commit4e94468f9498371082c810dedc6688af731bae5b (patch)
tree9dd0f03ce478a68639c1e2223907a87864d362c9
parentd696f87ce24df0aa277a93f23755cfeaefd4c1ab (diff)
Changes: Clear the pixmap cache when the window is not shown on the display anymore or has been minimized.
RevBy: Armin Berres Details: Widgets like MScalableImage and MLabel (when showing rich-texts) use QPixmapCache for the caching of pixmaps. If the window gets invisible or has been minimized there is no need to keep the pixmaps in the cache.
-rw-r--r--src/corelib/widgets/mwindow.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/corelib/widgets/mwindow.cpp b/src/corelib/widgets/mwindow.cpp
index 2f0181f1..b362cbfb 100644
--- a/src/corelib/widgets/mwindow.cpp
+++ b/src/corelib/widgets/mwindow.cpp
@@ -547,6 +547,8 @@ void MWindowPrivate::doExitDisplayEvent()
delete delayedMOnDisplayChangeEvent;
delayedMOnDisplayChangeEvent = 0;
}
+
+ QPixmapCache::clear();
}
void MWindowPrivate::_q_exitDisplayStabilized()
@@ -663,6 +665,7 @@ void MWindowPrivate::handleWindowStateChangeEvent(QWindowStateChangeEvent *event
// Check if window has entered / left the switcher
if (!event->oldState().testFlag(Qt::WindowMinimized) && q->windowState().testFlag(Qt::WindowMinimized)) {
doSwitcherEntered();
+ QPixmapCache::clear();
}
else if (event->oldState().testFlag(Qt::WindowMinimized) &&
!q->windowState().testFlag(Qt::WindowMinimized)) {