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

Oliver Kellogg okellogg at users.sourceforge.net
Sun Dec 3 17:40:14 UTC 2006


SVN commit 610187 by okellogg:

UMLApp::setCurrentView(): Call with NULL pointer arg is an error.

 M  +8 -6      uml.cpp  
 M  +0 -2      umldoc.cpp  


--- branches/KDE/3.5/kdesdk/umbrello/umbrello/uml.cpp #610186:610187
@@ -1599,15 +1599,17 @@
         kError() << "UMLApp::setCurrentView: m_viewStack is NULL" << endl;
         return;
     }
+    if (view == NULL) {
+        kError() << "UMLApp::setCurrentView: view is NULL" << endl;
+        return;
+    }
     if (m_viewStack->id(view) < 0)
         m_viewStack->addWidget(view);
     m_viewStack->raiseWidget(view);
-    if (view) {
-        slotStatusMsg(view->getName());
-        UMLListViewItem* lvitem = m_listView->findView(view);
-        if (lvitem)
-            m_listView->setCurrentItem(lvitem);
-    }
+    slotStatusMsg(view->getName());
+    UMLListViewItem* lvitem = m_listView->findView(view);
+    if (lvitem)
+        m_listView->setCurrentItem(lvitem);
 }
 
 UMLView* UMLApp::getCurrentView() {
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/umldoc.cpp #610186:610187
@@ -1559,7 +1559,6 @@
         UMLApp::app()->setGenerator(UMLApp::app()->getDefaultLanguage());
     emit sigWriteToStatusBar( i18n("Setting up the document...") );
     kapp->processEvents();  // give UI events a chance
-    UMLApp::app()->setCurrentView(NULL);
     activateAllViews();
 
     UMLView *viewToBeSet = NULL;
@@ -1837,7 +1836,6 @@
 void UMLDoc::removeAllViews() {
     for (int i = 0; i < Uml::N_MODELTYPES; i++)
         m_root[i]->removeAllViews();
-    UMLApp::app()->setCurrentView(NULL);
     emit sigDiagramChanged(dt_Undefined);
     UMLApp::app()->setDiagramMenuItemsState(false);
 }




More information about the umbrello-devel mailing list