diff -r 6a787171e1de -r 13fd6fd25fe7 tzservices/tzserver/Client/Source/timezoneuserdata.cpp --- a/tzservices/tzserver/Client/Source/timezoneuserdata.cpp Fri May 14 16:01:13 2010 +0300 +++ b/tzservices/tzserver/Client/Source/timezoneuserdata.cpp Thu May 27 13:01:09 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -523,7 +523,6 @@ iTzServer.DeleteUserTimeZoneL(aTzId); } - /** Returns the time zone identifiers for all existing user-defined time zones. @@ -533,5 +532,19 @@ */ EXPORT_C void CTzUserData::GetTzIdsL(RPointerArray& aTzIds) const { + CleanupStack::PushL( TCleanupItem(CleanupPointerArray, &aTzIds) ); iTzServer.GetUserTimeZoneIdsL(aTzIds); + CleanupStack::Pop(); } + +void CTzUserData::CleanupPointerArray(TAny* aArray) + { + RPointerArray* array = static_cast* >(aArray); + if (array) + { + array->ResetAndDestroy(); + array->Close(); + } + } + +