[reSIProcate] DUM Dialog.cxx Erro Code
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