diff -r 63c982fb92f2 -r b73252188534 metadataengine/server/src/mdssqliteconnection.cpp --- a/metadataengine/server/src/mdssqliteconnection.cpp Thu Jul 15 19:07:24 2010 +0300 +++ b/metadataengine/server/src/mdssqliteconnection.cpp Thu Aug 19 10:20:41 2010 +0300 @@ -48,6 +48,7 @@ CloseDb(); delete iDbFileName; + iDbFileName = NULL; iNotFinishFindQuery = NULL; } @@ -543,6 +544,11 @@ if (err != KErrNone) { _LIT( KMdsTransactionBegin, "Transaction begin error" ); + if( !iNotFinishFindQuery ) + { + iEnableTransaction = ETrue; + } + iTransactionOngoing = EFalse; TraceAndLeaveL( KMdsTransactionBegin, err ); } CleanupStack::PopAndDestroy( &emptyRow ); @@ -581,16 +587,16 @@ RRowData emptyRow; CleanupClosePushL( emptyRow ); TRAPD( err, ExecuteL(KRollback, emptyRow) ); + if (err != KErrNone) + { + _LIT( KMdsTransactionRollback, "Transaction rollback error" ); + TraceAndLeaveL( KMdsTransactionRollback, err ); + } if( !iNotFinishFindQuery ) { iEnableTransaction = ETrue; } iTransactionOngoing = EFalse; - if (err != KErrNone) - { - _LIT( KMdsTransactionRollback, "Transaction rollback error" ); - TraceAndLeaveL( KMdsTransactionRollback, err ); - } CleanupStack::PopAndDestroy( &emptyRow ); }