From 99cd47972d4d231f787daf0f647397df7194af68 Mon Sep 17 00:00:00 2001 From: mread Date: Fri, 5 Aug 2011 13:35:39 +0100 Subject: Fixed Symbian memory leak in utcToLocal(QDate &, QTime &) RTz::GetTimeZoneIdL() returns a CTzId object which the client has to own. But in utcToLocal(QDate &, QTime &) it was being used anonymously and forgotten. Task-number: QTBUG-20765 Reviewed-by: Shane Kearns --- src/corelib/tools/qdatetime.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index a6fee43..d915989 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -4040,8 +4040,11 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) RTz tz; User::LeaveIfError(tz.Connect()); CleanupClosePushL(tz); - res.tm_isdst = tz.IsDaylightSavingOnL(*tz.GetTimeZoneIdL(),utcTTime); + CTzId *tzId = tz.GetTimeZoneIdL(); + CleanupStack::PushL(tzId); + res.tm_isdst = tz.IsDaylightSavingOnL(*tzId,utcTTime); User::LeaveIfError(tz.ConvertToLocalTime(utcTTime)); + CleanupStack::PopAndDestroy(tzId); CleanupStack::PopAndDestroy(&tz)); if (KErrNone == err) { TDateTime localDateTime = utcTTime.DateTime(); -- cgit v0.12