diff -r 63c982fb92f2 -r b73252188534 metadataengine/server/src/mdsmanipulationengine.cpp --- a/metadataengine/server/src/mdsmanipulationengine.cpp Thu Jul 15 19:07:24 2010 +0300 +++ b/metadataengine/server/src/mdsmanipulationengine.cpp Thu Aug 19 10:20:41 2010 +0300 @@ -93,8 +93,10 @@ CMdSManipulationEngine::~CMdSManipulationEngine() { delete iManipulate; + iManipulate = NULL; delete iGarbageCollector; + iGarbageCollector = NULL; } // --------------------------------------------------------------------------- @@ -153,7 +155,7 @@ CleanupClosePushL(objStmt); RMdSTransaction transaction( connection ); - CleanupClosePushL(transaction); + CleanupClosePushL (transaction ); const TInt beginError( transaction.Error() ); if( beginError != KErrNone ) { @@ -1072,13 +1074,19 @@ CMdSSqLiteConnection& connection = MMdSDbConnectionPool::GetDefaultDBL(); RMdSTransaction transaction( connection ); CleanupClosePushL( transaction ); - User::LeaveIfError( transaction.Error() ); + const TInt beginError( transaction.Error() ); + if( beginError != KErrNone ) + { + CleanupStack::PopAndDestroy( &transaction ); + } iManipulate->CheckMassStorageMediaIdL( aMediaId ); - transaction.CommitL(); - - CleanupStack::PopAndDestroy( &transaction ); + if( beginError == KErrNone ) + { + transaction.CommitL(); + CleanupStack::PopAndDestroy( &transaction ); + } } void CMdSManipulationEngine::AddRelationDefL( TDefId aNamespaceId, const TDesC& aRelationDefName )