summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread
diff options
context:
space:
mode:
authorJeff Kehres <jkehres@rim.com>2012-03-23 14:43:44 (GMT)
committerQt by Nokia <qt-info@nokia.com>2012-04-25 10:57:47 (GMT)
commita2dfb824021ea01c1c9c81461b9f275643793542 (patch)
tree72a70e74704051b6ee86cd1a6aa71bb70ff9f524 /src/corelib/thread
parent1ca3a778a0b5a7c1e1c918bc6fd4dde2be40278d (diff)
downloadQt-a2dfb824021ea01c1c9c81461b9f275643793542.zip
Qt-a2dfb824021ea01c1c9c81461b9f275643793542.tar.gz
Qt-a2dfb824021ea01c1c9c81461b9f275643793542.tar.bz2
Integrate Blackberry Platform Services (BPS) with Qt event loop.
This ensures interoperability between the Blackbery C and C++ APIs and makes it easier to expose platform services in C++ that are exposed in BPS - since events from both APIs can be processed on the same thread. Backport of qtbase 0723e14699704c35d5d61fa7f5e9f3bdbb378afa Change-Id: Ie0d66e7f9b9984ad3acff61f01665a2b90ef40db Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Diffstat (limited to 'src/corelib/thread')
-rw-r--r--src/corelib/thread/qthread_unix.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index 0626adc..027943c 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -44,11 +44,15 @@
#include "qplatformdefs.h"
#include <private/qcoreapplication_p.h>
-#if !defined(QT_NO_GLIB)
-# include "../kernel/qeventdispatcher_glib_p.h"
-#endif
-#include <private/qeventdispatcher_unix_p.h>
+#if defined(Q_OS_BLACKBERRY)
+# include <private/qeventdispatcher_blackberry_p.h>
+#else
+# if !defined(QT_NO_GLIB)
+# include "../kernel/qeventdispatcher_glib_p.h"
+# endif
+# include <private/qeventdispatcher_unix_p.h>
+#endif
#include "qthreadstorage.h"
@@ -254,6 +258,9 @@ typedef void*(*QtThreadCallback)(void*);
void QThreadPrivate::createEventDispatcher(QThreadData *data)
{
+#if defined(Q_OS_BLACKBERRY)
+ data->eventDispatcher = new QEventDispatcherBlackberry;
+#else
#if !defined(QT_NO_GLIB)
if (qgetenv("QT_NO_GLIB").isEmpty()
&& qgetenv("QT_NO_THREADED_GLIB").isEmpty()
@@ -262,6 +269,8 @@ void QThreadPrivate::createEventDispatcher(QThreadData *data)
else
#endif
data->eventDispatcher = new QEventDispatcherUNIX;
+#endif
+
data->eventDispatcher->startingUp();
}