src/hbcore/devicedialogbase/hbsymbianvariant.cpp
changeset 21 4633027730f5
parent 2 06ff229162e9
child 28 b7da29130b0e
--- 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();
 }