diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-04-21 19:27:22 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-04-21 19:27:22 (GMT) |
commit | 2ca4e77f0a29bc6d7571ca614a6101d9e1bd83e0 (patch) | |
tree | 0cee14719cb93e8a3929a6f3e4c6f7e7d4a6e184 /src/corelib/kernel/qeventdispatcher_symbian.cpp | |
parent | 8e53d9f5992277fe1729d3310458c6391f204eb9 (diff) | |
parent | 2fd2858f2e12ea50c02d48d8af29e5540f8095a2 (diff) | |
download | Qt-2ca4e77f0a29bc6d7571ca614a6101d9e1bd83e0.zip Qt-2ca4e77f0a29bc6d7571ca614a6101d9e1bd83e0.tar.gz Qt-2ca4e77f0a29bc6d7571ca614a6101d9e1bd83e0.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Add (correct) .pro files to INSTALLs.
Assign UID3, install example files, remove redundant code.
Make tst_qdialog::throwInExec work with symbian exception policy
Use a compile time constant for the C epoch as a julian day.
Fix test failures for qdatetime on symbian and wince
Fix compile error in QFileDialog autotest
Fix to collections autotest
Fixed vendor info in fluidlauncher sis package.
Fix default_deployment.pkg_prerules
Fix crash on startup on Symbian OS
Diffstat (limited to 'src/corelib/kernel/qeventdispatcher_symbian.cpp')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_symbian.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index 8c96057..3b86e89 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -638,6 +638,7 @@ void QSocketActiveObject::deleteLater() QEventDispatcherSymbian::QEventDispatcherSymbian(QObject *parent) : QAbstractEventDispatcher(parent), + m_selectThread(0), m_activeScheduler(0), m_wakeUpAO(0), m_completeDeferredAOs(0), @@ -665,11 +666,19 @@ void QEventDispatcherSymbian::startingUp() wakeUp(); } +QSelectThread& QEventDispatcherSymbian::selectThread() { + if (!m_selectThread) + m_selectThread = new QSelectThread; + return *m_selectThread; +} + void QEventDispatcherSymbian::closingDown() { - if (m_selectThread.isRunning()) { - m_selectThread.stop(); + if (m_selectThread && m_selectThread->isRunning()) { + m_selectThread->stop(); } + delete m_selectThread; + m_selectThread = 0; delete m_completeDeferredAOs; delete m_wakeUpAO; @@ -941,12 +950,13 @@ void QEventDispatcherSymbian::registerSocketNotifier ( QSocketNotifier * notifie { QSocketActiveObject *socketAO = q_check_ptr(new QSocketActiveObject(this, notifier)); m_notifiers.insert(notifier, socketAO); - m_selectThread.requestSocketEvents(notifier, &socketAO->iStatus); + selectThread().requestSocketEvents(notifier, &socketAO->iStatus); } void QEventDispatcherSymbian::unregisterSocketNotifier ( QSocketNotifier * notifier ) { - m_selectThread.cancelSocketEvents(notifier); + if (m_selectThread) + m_selectThread->cancelSocketEvents(notifier); if (m_notifiers.contains(notifier)) { QSocketActiveObject *sockObj = *m_notifiers.find(notifier); m_deferredSocketEvents.removeAll(sockObj); @@ -957,7 +967,7 @@ void QEventDispatcherSymbian::unregisterSocketNotifier ( QSocketNotifier * notif void QEventDispatcherSymbian::reactivateSocketNotifier(QSocketNotifier *notifier) { - m_selectThread.requestSocketEvents(notifier, &m_notifiers[notifier]->iStatus); + selectThread().requestSocketEvents(notifier, &m_notifiers[notifier]->iStatus); } void QEventDispatcherSymbian::registerTimer ( int timerId, int interval, QObject * object ) |