diff -r 4bc7b118b3df -r 397d00875918 contentstorage/srvsrc/casrv.cpp --- a/contentstorage/srvsrc/casrv.cpp Fri May 14 16:10:06 2010 +0300 +++ b/contentstorage/srvsrc/casrv.cpp Thu May 27 13:11:12 2010 +0300 @@ -154,12 +154,14 @@ iSessionCount = 0; iStorageProxy = CCaStorageProxy::NewL(); iSrvEngUtils = CCaSrvEngUtils::NewL(); - TRAPD( err, iSrvManager = CCaSrvManager::NewL( - *iStorageProxy, iSrvEngUtils ) ); - if( KSqlErrNotDb <= err && err <= KSqlErrGeneral ) + iSrvManager = CCaSrvManager::NewL(*iStorageProxy, iSrvEngUtils); + TInt errCode = iSrvManager->LoadOperationErrorCodeL(); + if( KSqlErrNotDb <= errCode && errCode <= KSqlErrGeneral ) { //problem in loading one of plugins, probably data base is corrupted //lets load it from ROM and try again + delete iSrvManager; + iSrvManager = NULL; iStorageProxy->LoadDataBaseFromRomL(); iSrvManager = CCaSrvManager::NewL( *iStorageProxy, iSrvEngUtils ); }