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

Ralf Habacker ralf.habacker at gmail.com
Wed Nov 30 14:53:12 UTC 2011


SVN commit 1266790 by habacker:

crash fix on importing idl file

Bug 203092 


 M  +4 -2      idlimport.cpp  


--- trunk/KDE/kdesdk/umbrello/umbrello/codeimport/idlimport.cpp #1266789:1266790
@@ -187,13 +187,14 @@
         const QString& name = advance();
         UMLObject *ns = Import_Utils::createUMLObject(UMLObject::ot_Class,
                         name, m_scope[m_scopeIndex], m_comment);
-        m_scope[++m_scopeIndex] = m_klass = static_cast<UMLClassifier*>(ns);
+        m_klass = static_cast<UMLClassifier*>(ns);
         m_klass->setStereotype("CORBAInterface");
         m_klass->setAbstract(m_isAbstract);
         m_isAbstract = false;
         m_comment.clear();
         if (advance() == ";")   // forward declaration
             return true;
+        m_scope[++m_scopeIndex] = m_klass;
         if (m_source[m_srcIndex] == ":") {
             while (++m_srcIndex < srcLength && m_source[m_srcIndex] != "{") {
                 const QString& baseName = m_source[m_srcIndex];
@@ -266,11 +267,12 @@
         const QString& name = advance();
         UMLObject *ns = Import_Utils::createUMLObject(UMLObject::ot_Class,
                         name, m_scope[m_scopeIndex], m_comment);
-        m_scope[++m_scopeIndex] = m_klass = static_cast<UMLClassifier*>(ns);
+        m_klass = static_cast<UMLClassifier*>(ns);
         m_klass->setAbstract(m_isAbstract);
         m_isAbstract = false;
         if (advance() == ";")   // forward declaration
             return true;
+        m_scope[++m_scopeIndex] = m_klass;
         if (m_source[m_srcIndex] == ":") {
             if (advance() == "truncatable")
                 m_srcIndex++;




More information about the umbrello-devel mailing list