[Uml-devel] The need for deleteContents to delete objects in objectList (in umldoc.cpp)
Brian Thomas
brian.thomas at gsfc.nasa.gov
Mon Nov 24 08:17:02 UTC 2003
Oliver, all,
I think that there is a _definite_ need to be cleaning up the objects that arent needed by
the umldoc anymore, and the correct spot is in umldoc deleteContents(). If this functionality
is ignored I can easily imagine large memory leaks are created as there is no way to enforce
the deletion of these objects (objectList is set to autoDelete(false) on purpose). What is the
solution then?
An excerpt of commented out code in UMLDoc:
// clear our object list. We do this explicitly since setAutoDelete is false for the objectList now.
/* Sorry Brian, but this crashes (see bug 68701.)
for(UMLObject * obj = objectList.first(); obj != 0; obj = objectList.next())
delete obj;
*/
objectList.clear();
What objects was this crashing on exactly? (e.g. associations? classes? interfaces?). It sounds
to me like the object was not properly 'unhooked' from the other objects when it was deleted.
-Or- perhaps you can't use objectList in a for loop that is deleting its contents (?) If so, what code
would avoid that?
Any ideas out there?
=-b.t.
More information about the umbrello-devel
mailing list