summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxwindow.cpp
diff options
context:
space:
mode:
authorBernd Weimer <bweimer@blackberry.com>2014-01-15 14:35:07 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-17 10:22:21 +0100
commit338f4c9246fd4a85f3f90ca443fd786a008ba348 (patch)
tree0d56af51aaf2c5e48a8fa9bd842f6c5c598448d1 /src/plugins/platforms/qnx/qqnxwindow.cpp
parent0893d2d7e5cadcbea5caca8a027ae3e28b6c5410 (diff)
QNX: Fixed some window issues
Corrected EGL error code query and cover windows creation in the "no-rootwindow" case. Change-Id: I86aaa4b59283f7153f8ab63c5bf231bc9da7538c Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxwindow.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxwindow.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/platforms/qnx/qqnxwindow.cpp b/src/plugins/platforms/qnx/qqnxwindow.cpp
index 9f8c93cce1..29cc757fca 100644
--- a/src/plugins/platforms/qnx/qqnxwindow.cpp
+++ b/src/plugins/platforms/qnx/qqnxwindow.cpp
@@ -586,13 +586,18 @@ void QQnxWindow::initWindow()
qFatal("QQnxWindow: failed to set window sensitivity, errno=%d", errno);
}
- setScreen(static_cast<QQnxScreen *>(window()->screen()->handle()));
+ QQnxScreen *platformScreen = static_cast<QQnxScreen *>(window()->screen()->handle());
+ setScreen(platformScreen);
if (window()->type() == Qt::CoverWindow) {
#if defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET)
- screen_set_window_property_pv(m_screen->rootWindow()->nativeHandle(),
- SCREEN_PROPERTY_ALTERNATE_WINDOW, (void**)&m_window);
- m_cover.reset(new QQnxNavigatorCover);
+ if (platformScreen->rootWindow()) {
+ screen_set_window_property_pv(m_screen->rootWindow()->nativeHandle(),
+ SCREEN_PROPERTY_ALTERNATE_WINDOW, (void**)&m_window);
+ m_cover.reset(new QQnxNavigatorCover);
+ } else {
+ qWarning("No root window for cover window");
+ }
#endif
m_exposed = false;
}