summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxintegration.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2012-09-04 19:58:27 +0100
committerQt by Nokia <qt-info@nokia.com>2012-09-07 18:41:22 +0200
commit834e9823fc727d89c6b8e959dee29efa617a5aec (patch)
tree9ef70491bbffe36df64600a39e40d49bd9ec4b73 /src/plugins/platforms/qnx/qqnxintegration.cpp
parente54f6ed87b020df0a724ec90763775daf63ffab3 (diff)
QNX: Enable support for hardware buttons in QPA plugin
Change-Id: I3de18c3fdcfdacddc375b70800b34b6a8d16ac41 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxintegration.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp
index b988020293..b3bd4e30fb 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.cpp
+++ b/src/plugins/platforms/qnx/qqnxintegration.cpp
@@ -62,6 +62,7 @@
#endif
#if defined(QQNX_PPS)
+# include "qqnxbuttoneventnotifier.h"
# include "qqnxnavigatoreventnotifier.h"
# include "qqnxclipboard.h"
@@ -112,6 +113,7 @@ QQnxIntegration::QQnxIntegration()
#if defined(QQNX_PPS)
, m_navigatorEventNotifier(0)
, m_inputContext(0)
+ , m_buttonsNotifier(new QQnxButtonEventNotifier())
#endif
, m_services(0)
, m_fontDatabase(new QGenericUnixFontDatabase())
@@ -210,6 +212,11 @@ QQnxIntegration::QQnxIntegration()
#endif
}
+#if defined(QQNX_PPS)
+ // delay invocation of start() to the time the event loop is up and running
+ // needed to have the QThread internals of the main thread properly initialized
+ QMetaObject::invokeMethod(m_buttonsNotifier, "start", Qt::QueuedConnection);
+#endif
}
QQnxIntegration::~QQnxIntegration()
@@ -218,6 +225,9 @@ QQnxIntegration::~QQnxIntegration()
delete m_nativeInterface;
#if defined(QQNX_PPS)
+ // Destroy the hardware button notifier
+ delete m_buttonsNotifier;
+
// Destroy input context
delete m_inputContext;
#endif