summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxwindow.cpp
diff options
context:
space:
mode:
authorBernd Weimer <bweimer@blackberry.com>2013-07-25 09:36:10 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-12 10:36:23 +0200
commitd8ba940b949d60f43fe3b2a4e2973b7a2fdc4b2a (patch)
treef9c3390422730ebd9c7f402c8d5572f93a5e8137 /src/plugins/platforms/qnx/qqnxwindow.cpp
parent23964bc338b9b00e204d45a917a0bb330cb795c4 (diff)
QNX: Prevent rendering when app is minimized
Windows will only be exposed and hence rendered when they are not minimized. This will save useless computations and hence battery. Change-Id: I83166cc6c3d89e878106c998a35890dd7788ed8a Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxwindow.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxwindow.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/platforms/qnx/qqnxwindow.cpp b/src/plugins/platforms/qnx/qqnxwindow.cpp
index 9b9576c88b..61b13099fd 100644
--- a/src/plugins/platforms/qnx/qqnxwindow.cpp
+++ b/src/plugins/platforms/qnx/qqnxwindow.cpp
@@ -75,6 +75,7 @@ QQnxWindow::QQnxWindow(QWindow *window, screen_context_t context)
m_screen(0),
m_parentWindow(0),
m_visible(false),
+ m_exposed(true),
m_windowState(Qt::WindowNoState),
#if !defined(QT_NO_OPENGL)
m_platformOpenGLContext(0),
@@ -334,9 +335,19 @@ void QQnxWindow::setOpacity(qreal level)
// the transparency will look wrong...
}
+void QQnxWindow::setExposed(bool exposed)
+{
+ qWindowDebug() << Q_FUNC_INFO << "window =" << window() << "expose =" << exposed;
+
+ if (m_exposed != exposed) {
+ m_exposed = exposed;
+ QWindowSystemInterface::handleExposeEvent(window(), window()->geometry());
+ }
+}
+
bool QQnxWindow::isExposed() const
{
- return m_visible;
+ return m_visible && m_exposed;
}
QSize QQnxWindow::requestedBufferSize() const