diff options
-rw-r--r-- | typesystem.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/typesystem.cpp b/typesystem.cpp index cc6db6ed2..87607130b 100644 --- a/typesystem.cpp +++ b/typesystem.cpp @@ -938,13 +938,16 @@ bool Handler::startElement(const QString &, const QString &n, m_defaultPackage = attributes["package"]; m_defaultSuperclass = attributes["default-superclass"]; element->type = StackElement::Root; - element->entry = new TypeSystemTypeEntry(m_defaultPackage); + { + TypeSystemTypeEntry* moduleEntry = reinterpret_cast<TypeSystemTypeEntry*>( + m_database->findType(m_defaultPackage)); + element->entry = moduleEntry ? moduleEntry : new TypeSystemTypeEntry(m_defaultPackage); + } if ((m_generate == TypeEntry::GenerateForSubclass || m_generate == TypeEntry::GenerateNothing) && m_defaultPackage != "") TypeDatabase::instance()->addRequiredTargetImport(m_defaultPackage); - if (!element->entry->qualifiedCppName().isEmpty()) m_database->addType(element->entry); break; |