diff -r 1f10b9300be6 -r 14e240312f6f bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp --- a/bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp Wed Jun 09 10:55:02 2010 +0300 +++ b/bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp Thu Jul 15 19:55:36 2010 +0300 @@ -534,15 +534,19 @@ CBTManSession::~CBTManSession() { LOG_FUNC + + delete iSubSessions; + Server().DeleteContainer(iContainer); + Server().DropSession(); + if (iMessageArray) { + __ASSERT_DEBUG(iMessageArray->Count()== 0, PanicServer(EBTManOutstandingMessagesOnClosedSession)); + CompleteOutstandingMessages(); iMessageArray->ResetAndDestroy(); } delete iMessageArray; - delete iSubSessions; - Server().DeleteContainer(iContainer); - Server().DropSession(); } void CBTManSession::CompleteOutstandingMessages()