--- a/src/hbcore/devicedialogbase/hbsymbianvariant.cpp Tue Jul 06 14:36:53 2010 +0300
+++ b/src/hbcore/devicedialogbase/hbsymbianvariant.cpp Wed Aug 18 10:05:37 2010 +0300
@@ -25,6 +25,8 @@
#include "hbsymbianvariant.h"
+_LIT(KPanicSymbianVariantNotSupportedType, "CHbSymbianVariant: Not supported type");
+
class CHbSymbianVariantPrivate : public CBase
{
public:
@@ -120,10 +122,12 @@
case CHbSymbianVariant::EDesArray: {
const MDesCArray* arrayPtr = reinterpret_cast<const MDesCArray*>(aData);
TInt count = arrayPtr->MdcaCount();
- CDesC16ArrayFlat* array = new CDesC16ArrayFlat(16);
- for(TInt i = 0; i < count; i++) {
+ CDesC16ArrayFlat* array = new (ELeave) CDesC16ArrayFlat(16);
+ CleanupStack::PushL(array);
+ for(TInt i = 0; i < count; ++i) {
array->AppendL(arrayPtr->MdcaPoint(i));
}
+ CleanupStack::Pop(array);
iData.iBasicData.ptr = array;
break;
}
@@ -134,7 +138,7 @@
CleanupStack::PushL(copy);
MDesCArray& keys = mapPtr->Keys();
TInt count = keys.MdcaCount();
- for(TInt i = 0; i < count ; i++) {
+ for(TInt i = 0; i < count ; ++i) {
TPtrC ptr = keys.MdcaPoint(i);
const CHbSymbianVariant* var = mapPtr->Get(ptr);
copy->Add(ptr, CHbSymbianVariant::NewL(var->Data(), var->Type()));
@@ -144,7 +148,7 @@
break;
}
default: {
- User::Panic(_L("CHbSymbianVariant: Not supported type"),aDataType);
+ User::Panic(KPanicSymbianVariantNotSupportedType, aDataType);
break;
}
}
@@ -534,6 +538,6 @@
void CHbSymbianVariantMap::ConstructL()
{
- d = new CHbSymbianVariantMapPrivate();
+ d = new (ELeave) CHbSymbianVariantMapPrivate();
}