diff -r 3673b591050c -r ef55b168cedb backupandrestore/backupengine/src/sbpackagedatatransfer.cpp --- a/backupandrestore/backupengine/src/sbpackagedatatransfer.cpp Wed Apr 14 16:49:36 2010 +0300 +++ b/backupandrestore/backupengine/src/sbpackagedatatransfer.cpp Tue Apr 27 17:30:23 2010 +0300 @@ -354,12 +354,14 @@ if(KErrNotSupported == err) {//Non-Removable package, nothing to backup iState.iState = ENone; + aLastSection = ETrue; Cleanup(); return; } else if(KErrNone != err) { iState.iState = ENone; + aLastSection = ETrue; Cleanup(); User::Leave(err); } @@ -1413,12 +1415,22 @@ // We now no longer return the Z drive, it has been decided that the Z drive will always be the // ROM. Backing up and restoring the ROM drive should not be possible, as what is the point - // build package files + // build package files if (iMetaData == NULL) { - iMetaData = iSWIBackup.GetMetaDataL(iPackageID, iFiles); - iMetaDataSize = iMetaData->Size(); - BuildPackageFileList(); + TRAPD( err, iMetaData = iSWIBackup.GetMetaDataL(iPackageID, iFiles) ); + + if( err ) + { + iMetaData = NULL; + iMetaDataSize = 0; + User::Leave( err ); + } + else + { + iMetaDataSize = iMetaData->Size(); + BuildPackageFileList(); + } } TDriveList notToBackup = ipDataOwnerManager->Config().ExcludeDriveList(); @@ -1433,6 +1445,7 @@ } aDriveList = iDriveList; + __LOG1("CPackageDataTransfer::GetDriveListL() - end - SID: 0x%08x", iPackageID.iUid); }