[reSIProcate] DUM Dialog.cxx Erro Code

fancy_xiao fancy_xiao at astrocom.cn
Tue Feb 6 02:08:25 CST 2007


 Hello:

Dialog::~Dialog()
{
   DebugLog ( <<"Dialog::~Dialog() ");

   mDestroying = true;

   while (!mClientSubscriptions.empty())
   {
      delete *mClientSubscriptions.begin();
   }
   while (!mServerSubscriptions.empty())
   {
      delete *mServerSubscriptions.begin();
   }

   delete mInviteSession;
   mDialogSet.mDialogs.erase(this->getId());
   delete mAppDialog;
   if(!mReUseDialogSet)
   {
      mDialogSet.possiblyDie();
   }      
}

in this function;

   while (!mClientSubscriptions.empty())
   {
      delete *mClientSubscriptions.begin();
   }
   while (!mServerSubscriptions.empty())
   {
      delete *mServerSubscriptions.begin();
   }

must change to :
   while (!mClientSubscriptions.empty())
   {
      delete *mClientSubscriptions.begin();
	  mClientSubscriptions.pop_front();
   }
   while (!mServerSubscriptions.empty())
   {
      delete *mServerSubscriptions.begin();
      mServerSubscriptions.pop_front();
   }

otherwise it should be a dead loop!
 				
--------------
fancy_xiao
2007-02-06




More information about the resiprocate-devel mailing list