From 0af00c3e45af09faab4598725de7f7258211d0f9 Mon Sep 17 00:00:00 2001 From: Yongjun Zhang Date: Thu, 25 Jun 2009 14:25:56 -0400 Subject: Add releaseTimerId to unregisterTimer in Qt for S60 port In Qt S60 port, releaseTimerId was not called, as a result, timer IDs are not reused which makes nextTimeID reaches a very big number after an app with periodic timer running for long time. This causes big memory consumption in timerID bucket allocation and eventually crashes in S60. Signed-off-by: axis --- src/corelib/kernel/qeventdispatcher_symbian.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index 88e2a88..108c329 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -943,6 +943,9 @@ bool QEventDispatcherSymbian::unregisterTimer ( int timerId ) SymbianTimerInfoPtr timerInfo = m_timerList.take(timerId); + if (!QObjectPrivate::get(timerInfo->receiver)->inThreadChangeEvent) + QAbstractEventDispatcherPrivate::releaseTimerId(timerId); + return true; } -- cgit v0.12