contentstorage/srvsrc/casrv.cpp
changeset 80 397d00875918
parent 61 8e5041d13c84
child 103 b99b84bcd2d1
--- 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 );
         }