idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp
branchRCL_3
changeset 9 f966699dea19
parent 1 5315654608de
child 15 ff572dfe6d86
--- a/idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp	Tue Feb 02 00:04:13 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp	Fri Feb 19 22:42:37 2010 +0200
@@ -112,7 +112,8 @@
     // 1. create stream for storing the data to a file
     TFileName storeFileName;
     GetStoreFileNameL( storeFileName );
-    CPermanentFileStore* fileStore = CPermanentFileStore::ReplaceLC(
+    CPermanentFileStore* fileStore = NULL;
+    fileStore = CPermanentFileStore::ReplaceLC(
             iFs, storeFileName, EFileWrite );
     fileStore->SetTypeL( KPermanentFileStoreLayoutUid );
     RStoreWriteStream writer;
@@ -121,8 +122,13 @@
     writer.WriteInt32L( aArray.Count() );
     for( TInt i=0; i<aArray.Count(); ++i )
         {
-        TInt32 uid = aArray[i]->Uid().iUid;
-        const TDesC16& publisherId = aArray[i]->HsContentInfo().PublisherId();
+        CWmWidgetData* data = aArray[i];
+        if ( !data || !data->IsValid() )
+            {
+            User::Leave( KErrArgument ); 
+            }
+        TInt32 uid = data->Uid().iUid;
+        const TDesC16& publisherId = data->HsContentInfo().PublisherId();
         writer.WriteInt32L( uid );
         writer.WriteInt32L( publisherId.Length() );
         writer.WriteL( publisherId, publisherId.Length() );