--- a/calendarui/server/CalenSvr/src/CalenSvrDBManager.cpp Tue Feb 02 10:12:19 2010 +0200
+++ b/calendarui/server/CalenSvr/src/CalenSvrDBManager.cpp Fri Feb 19 22:49:53 2010 +0200
@@ -260,6 +260,8 @@
case EStateDBClosed:
iState = EStateOpeningDB;
+ //Chances of leave due to file corruption or no memory.
+ TRAPD(err,
if( !iGlobalData )
{
iGlobalData = CCalenGlobalData::Instance();
@@ -270,7 +272,8 @@
}
}
iGlobalData->InstanceViewL();
- OpenDatabaseCompletedL();
+ );
+ OpenDatabaseCompletedL(err);
break;
default:
@@ -359,7 +362,7 @@
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
-void CCalenSvrDBManager::OpenDatabaseCompletedL()
+void CCalenSvrDBManager::OpenDatabaseCompletedL(TInt aErrorVal)
{
TRACE_ENTRY_POINT;
switch(iState)
@@ -368,7 +371,7 @@
{
if (iUsers.Count() > 0)
{
- NotifyUsersL();
+ NotifyUsersL(aErrorVal);
iState = EStateDBOpen;
}
else
@@ -581,7 +584,7 @@
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
-void CCalenSvrDBManager::NotifyUsersL(void)
+void CCalenSvrDBManager::NotifyUsersL(TInt aErrorVal)
{
TRACE_ENTRY_POINT;
@@ -595,7 +598,14 @@
for( TInt i(0); i < users.Count(); ++i )
{
- users[i]->DatabaseOpened();
+ if(aErrorVal != KErrNone)
+ {
+ users[i]->HandleError();
+ }
+ else
+ {
+ users[i]->DatabaseOpened();
+ }
}
CleanupStack::PopAndDestroy( &users );