[Uml-devel] kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Thu Jan 13 09:15:14 UTC 2005


CVS commit by okellogg: 

feedTheModel(): Check m_seenFiles at each #included file.


  M +11 -6     classimport.cpp   1.62


--- kdesdk/umbrello/umbrello/classimport.cpp  #1.61:1.62
@@ -254,9 +254,5 @@ void ClassImport::createGeneralization(U
 void ClassImport::feedTheModel(QString fileName) {
         QMap<QString, Dependence> deps = m_driver->dependences(fileName);
-        if (deps.empty()) {
-                if (m_seenFiles.find(fileName) != m_seenFiles.end())
-                        return;
-                m_seenFiles.append(fileName);
-        } else {
+        if (! deps.empty()) {
                 QMap<QString, Dependence>::Iterator it;
                 for (it = deps.begin(); it != deps.end(); ++it) {
@@ -264,8 +260,17 @@ void ClassImport::feedTheModel(QString f
                                 continue;
                         QString includeFile = it.key();
+                        if (includeFile.isEmpty()) {
+                                kdError() << fileName << ": " << it.data().first
+                                          << " not found" << endl;
+                                continue;
+                        }
                         kdDebug() << fileName << ": " << includeFile << " => " << it.data().first << endl;
+                        if (m_seenFiles.find(includeFile) == m_seenFiles.end())
                         feedTheModel(includeFile);
                 }
         }
+        if (m_seenFiles.find(fileName) != m_seenFiles.end())
+                return;
+        m_seenFiles.append(fileName);
         TranslationUnitAST *ast = m_driver->translationUnit( fileName );
         if (ast == NULL) {






More information about the umbrello-devel mailing list