From 59de77ca8785614dbb461763923f12a22986288e Mon Sep 17 00:00:00 2001 From: Cyrille Henry Date: Fri, 22 Jun 2007 16:14:17 +0000 Subject: add thomas fix for link destruction bug. svn path=/trunk/externals/nusmuk/; revision=7795 --- msd.h | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'msd.h') diff --git a/msd.h b/msd.h index e4046a2..88bd6ce 100644 --- a/msd.h +++ b/msd.h @@ -596,14 +596,18 @@ protected: return; } - t_mass *m = mass.find(GetAInt(argv[0])); - if(m) { - // Delete all associated links - for(typename std::vector::iterator it = m->links.begin(); it < m->links.end(); ++it) - deletelink(*it); - outmass(S_Mass_deleted,m); - massids.erase(m); - mass.remove(m->nbr); + + t_mass *m = mass.find(GetAInt(argv[0])); + if(m) { + // Delete all associated links + + while(!m->links.empty()) + deletelink(m->links.front()); + + outmass(S_Mass_deleted,m); + massids.erase(m); + mass.remove(m->nbr); + delete m; mass_deleted = 1; } -- cgit v1.2.1