diff -r b9d1744dc449 -r f72906e669b4 bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp --- a/bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp Wed Jun 23 19:28:39 2010 +0300 +++ b/bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp Tue Jul 06 15:33:04 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()