Fix handle leak in symbian QTimer implementation
authorShane Kearns <shane.kearns@accenture.com>
Fri, 7 Jan 2011 15:57:28 +0000 (15:57 +0000)
committerJason McDonald <jason.mcdonald@nokia.com>
Tue, 11 Jan 2011 09:54:14 +0000 (19:54 +1000)
commit16e203e5de2aa984dadad2e4edd68d1c3446d9c1
treeed88de0b963bfdb892133480d7b778452b71fbb8
parent497cd0564b2471354b1ac86f00c5ba90845aa2e1
Fix handle leak in symbian QTimer implementation

The timer handle was only being closed when a timer was cancelled,
which resulted in a leak for one shot timers that have completed normally.

Instead the timer is now closed in a destructor (closing null handles is
safe, so it doesn't matter if the handle was never created - e.g. in the
case of a zero timer)
Also added a handle check before creating a timer to prevent a leak in
case the start function is called twice in the backend.

Task-number: QTBUG-16380
Reviewed-by: mread
(cherry picked from commit 2b1b617664bfc78f6e95e53dc0f9749bd1f2d27a)
src/corelib/kernel/qeventdispatcher_symbian.cpp
tests/auto/qtimer/tst_qtimer.cpp