meetingrequest/mrentry/src/cesmrmeetingrequestentry.cpp
changeset 1 12c456ceeff2
parent 0 8466d47a6819
child 16 4ce476e64c59
--- a/meetingrequest/mrentry/src/cesmrmeetingrequestentry.cpp	Thu Dec 17 08:39:21 2009 +0200
+++ b/meetingrequest/mrentry/src/cesmrmeetingrequestentry.cpp	Thu Jan 07 12:38:38 2010 +0200
@@ -200,6 +200,7 @@
     delete iForwardEntry;
     delete iOrginalEntry;
     delete iParameterEntry;
+    delete iBackupEntry;
     }
 
 // ---------------------------------------------------------------------------
@@ -242,7 +243,10 @@
         aEntry,
         aEntry.MethodL(),
         ESMRHelper::ECopyFull );    
-    
+    iBackupEntry=ESMRHelper::CopyEntryL(
+            aEntry,
+            aEntry.MethodL(),
+            ESMRHelper::ECopyFull ); 
     iEntry = ESMRHelper::CopyEntryL(
         aEntry,
         aEntry.MethodL(),
@@ -450,7 +454,7 @@
         // Ownership is transferred
         CCalInstance* instance = NULL;
         TRAPD(err, instance = InstanceL() );
-        if ( KErrNotFound != err )
+        if ( KErrNotFound != err&&err!=KErrNone )
             {
             User::LeaveIfError( err );
             }
@@ -607,7 +611,10 @@
             CleanupStack::PushL( instance );
 
             CCalEntry::TMethod entryMethod( iEntry->MethodL() );
-           
+            CCalEntry* iBackupEntry=ESMRHelper::CopyEntryL(
+                    *iEntry,
+                    entryMethod,
+                    ESMRHelper::ECopyFull);
             delete iEntry; 
             iEntry = NULL;
             
@@ -649,7 +656,7 @@
                     CESMRFsMailboxUtils::NewL( iMRMailboxUtils );
             CleanupStack::PushL( fsMbUtils );
             
-            fsMbUtils->SetPhoneOwnerL( *iEntry );
+            fsMbUtils->SetPhoneOwnerL( *iBackupEntry );
             CleanupStack::PopAndDestroy( fsMbUtils );
             fsMbUtils = NULL;
             
@@ -679,6 +686,7 @@
 
             iEntry->SetDescriptionL( description );
             iOrginalEntry->SetDescriptionL( description );
+            iEntry=ESMRHelper::CopyEntryL(*iBackupEntry,iBackupEntry->MethodL(),ESMRHelper::ECopyFull);
             
             CleanupStack::PopAndDestroy(); // entries
             CleanupStack::PopAndDestroy( instance );