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

Sharan Rao sharanrao at gmail.com
Wed May 9 10:51:37 UTC 2007


SVN commit 662842 by sharan:

fixed crash while adding class via class wizard



 M  +7 -0      dialogs/classgenpage.cpp  
 M  +2 -1      umldoc.cpp  


--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/classgenpage.cpp #662841:662842
@@ -388,6 +388,13 @@
         if(m_pPackageLE)
             m_pObject -> setPackage(m_pPackageLE -> text());
          */
+
+        if ( m_pObject->getUMLPackage() == NULL ) {
+            kdDebug() << k_funcinfo << "Parent package not set, setting it to Logical View folder"<<endl;
+            UMLFolder* folder = m_pUmldoc->getRootFolder(  Uml::mt_Logical );
+            m_pObject->setUMLPackage( ( UMLPackage* )folder );
+        }
+
         if( m_pAbstractCB )
             m_pObject -> setAbstract( m_pAbstractCB -> isChecked() );
         //make sure unique name
--- trunk/KDE/kdesdk/umbrello/umbrello/umldoc.cpp #662841:662842
@@ -735,6 +735,7 @@
         pkg = currentRoot();
         kDebug() << "UMLDoc::addUMLObject(" << object->getName()
             << "): no parent package set, assuming " << pkg->getName() << endl;
+        object->setUMLPackage( pkg );
     }
 
     return pkg->addObject(object);
@@ -1120,7 +1121,7 @@
         return m_root[Uml::mt_Logical];
     }
     UMLFolder *f = currentView->getFolder();
-    while (f) {
+    while (f->getUMLPackage()) {
         f = static_cast<UMLFolder*>(f->getUMLPackage());
     }
     return f;




More information about the umbrello-devel mailing list