diff -r aa5a574040a4 -r a3cc46f37772 metadataengine/server/src/mdssqliteconnection.cpp --- a/metadataengine/server/src/mdssqliteconnection.cpp Tue Jul 06 14:44:37 2010 +0300 +++ b/metadataengine/server/src/mdssqliteconnection.cpp Fri Sep 17 16:54:49 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 ); }