diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-01-10 16:45:05 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-01-10 16:45:05 (GMT) |
commit | f0b854bf5cfc6ec4715ff5f4aed3f0bd189d24ee (patch) | |
tree | 195a47b88ae55179330334a8e17da49b0a427de7 /src/corelib | |
parent | 8ef9b5f9d125a81b4268d5c88ab609089720df65 (diff) | |
parent | d62e9f4a6fe199ae790b1561fd4ba9ea84bd4d1e (diff) | |
download | Qt-f0b854bf5cfc6ec4715ff5f4aed3f0bd189d24ee.zip Qt-f0b854bf5cfc6ec4715ff5f4aed3f0bd189d24ee.tar.gz Qt-f0b854bf5cfc6ec4715ff5f4aed3f0bd189d24ee.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:
Setting WA_TranslucentBackground after winid() is ineffective on Symbian.
Fix handle leak in symbian QTimer implementation
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_symbian.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index bb9bd01..99c4087 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -217,13 +217,13 @@ QTimerActiveObject::QTimerActiveObject(QEventDispatcherSymbian *dispatcher, Symb QTimerActiveObject::~QTimerActiveObject() { Cancel(); + m_rTimer.Close(); //close of null handle is safe } void QTimerActiveObject::DoCancel() { if (m_timerInfo->interval > 0) { m_rTimer.Cancel(); - m_rTimer.Close(); } else { if (iStatus.Int() == KRequestPending) { TRequestStatus *status = &iStatus; @@ -302,7 +302,9 @@ void QTimerActiveObject::Start() CActiveScheduler::Add(this); m_timerInfo->msLeft = m_timerInfo->interval; if (m_timerInfo->interval > 0) { - m_rTimer.CreateLocal(); + if (!m_rTimer.Handle()) { + qt_symbian_throwIfError(m_rTimer.CreateLocal()); + } StartTimer(); } else { iStatus = KRequestPending; |