summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget_s60.cpp
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-04-28 14:08:22 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-04-28 14:17:53 (GMT)
commit27e57ccd327fbc1edbb23d9959c5388023974dfc (patch)
tree78cc58d1f31751e4fc18b1773544c565a72e02ee /src/gui/kernel/qwidget_s60.cpp
parent22fcb9580a6e2a183489c35eeafb6b32fcde96ea (diff)
downloadQt-27e57ccd327fbc1edbb23d9959c5388023974dfc.zip
Qt-27e57ccd327fbc1edbb23d9959c5388023974dfc.tar.gz
Qt-27e57ccd327fbc1edbb23d9959c5388023974dfc.tar.bz2
Enable dynamic [de|con]struction of window surfaces based on visibility
When a window becomes completely obscured either because it has been hidden or another window is completely covering it, the backing store should be deallocated to save memory and then re-allocated when the window is later made visible again. Reviewed-by: Iain <qt-info@nokia.com>
Diffstat (limited to 'src/gui/kernel/qwidget_s60.cpp')
-rw-r--r--src/gui/kernel/qwidget_s60.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index 116dc35..ec80a18 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -195,12 +195,13 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
data.crect.moveTopLeft(QPoint(clientRect.iTl.iX, clientRect.iTl.iY));
QSymbianControl *control= new QSymbianControl(q);
control->ConstructL(true,desktop);
- if (!desktop)
- {
+ if (!desktop) {
QTLWExtra *topExtra = topData();
topExtra->rwindow = control->DrawableWindow();
// Request mouse move events.
- topExtra->rwindow->PointerFilter(EPointerFilterEnterExit | EPointerFilterMove | EPointerFilterDrag, 0);
+ topExtra->rwindow->PointerFilter(EPointerFilterEnterExit
+ | EPointerFilterMove | EPointerFilterDrag, 0);
+ topExtra->rwindow->EnableVisibilityChangeEvents();
}
id = (WId)control;