diff -r 64200268cac2 -r 866b4af7ffbe mtpfws/mtpfw/daemon/server/src/cmtpserver.cpp --- a/mtpfws/mtpfw/daemon/server/src/cmtpserver.cpp Fri Sep 17 11:40:03 2010 +0800 +++ b/mtpfws/mtpfw/daemon/server/src/cmtpserver.cpp Tue Sep 28 20:14:08 2010 +0800 @@ -77,9 +77,12 @@ OstTraceFunctionEntry0( CMTPSERVER_CMTPSERVER_DES_ENTRY ); delete iShutdown; iShutdown = NULL; - iFrameworkSingletons.ConnectionMgr().StopTransports(); - iFrameworkSingletons.DpController().UnloadDataProviders(); - iFrameworkSingletons.Close(); + if(iFrameworkSingletonsOpened) + { + iFrameworkSingletons.ConnectionMgr().StopTransports(); + iFrameworkSingletons.DpController().UnloadDataProviders(); + iFrameworkSingletons.Close(); + } REComSession::FinalClose(); OstTraceFunctionExit0( CMTPSERVER_CMTPSERVER_DES_EXIT ); } @@ -192,6 +195,7 @@ OstTraceFunctionEntry0( CMTPSERVER_CONSTRUCTL_ENTRY ); StartL(KMTPServerName); iFrameworkSingletons.OpenL(); + iFrameworkSingletonsOpened = ETrue; if (!iShutdown) { TRAPD(error, iShutdown = CMTPShutdown::NewL());