[Uml-devel] branches/KDE/3.5/kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Thu Nov 16 23:51:49 UTC 2006


SVN commit 605508 by okellogg:

removeAllObjects(): Direct usage of the destructor crashes on associations
 but deleteLater() doesn't. To be further investigated.
containedObjects(): Associations live in m_objects. m_List has references
 to associations but is not the owner. The argument type at
 UMLCanvasObject::addAssociationEnd() should be changed to UMLRole*.


 M  +5 -10     package.cpp  
 M  +1 -1      package.h  


--- branches/KDE/3.5/kdesdk/umbrello/umbrello/package.cpp #605507:605508
@@ -140,19 +140,14 @@
         if (pkg)
             pkg->removeAllObjects();
         removeObject(o);
-        delete o;
+        //delete o;
+        // CHECK: Direct usage of the destructor crashes on associations.
+        o->deleteLater();
     }
 }
 
-UMLObjectList UMLPackage::containedObjects(bool includeAssociations) {
-    UMLObjectList list = m_objects;
-    if (includeAssociations) {
-        UMLObject *o;
-        for (UMLObjectListIt oit(m_List); (o = oit.current()) != NULL; ++oit) {
-            list.append(o);
-        }
-    }
-    return list;
+UMLObjectList UMLPackage::containedObjects() {
+    return m_objects;
 }
 
 UMLObject * UMLPackage::findObject(const QString &name) {
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/package.h #605507:605508
@@ -88,7 +88,7 @@
     /**
      * Returns the list of objects contained in this package.
      */
-    UMLObjectList containedObjects(bool includeAssociations = false);
+    UMLObjectList containedObjects();
 
     /**
      * Adds an existing association to the matching concept in the list of concepts.




More information about the umbrello-devel mailing list