diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-01-05 18:08:12 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-01-05 18:08:12 (GMT) |
commit | 3f4717ec5583dde8116205e1045095158ab56c15 (patch) | |
tree | c92a755efa7a5ae4a87f9f2201e04a6f7354ae90 /src/classdef.cpp | |
parent | 9884d11f94d6c0ea00c6962a38c608ce7f21ed9b (diff) | |
download | Doxygen-3f4717ec5583dde8116205e1045095158ab56c15.zip Doxygen-3f4717ec5583dde8116205e1045095158ab56c15.tar.gz Doxygen-3f4717ec5583dde8116205e1045095158ab56c15.tar.bz2 |
Various fixes based on coverity scan results
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 6ddc3f9..88bc44c 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -3969,28 +3969,31 @@ ClassDef *ClassDefImpl::insertTemplateInstance(const QCString &fileName, Doxygen::classLinkedMap->add(tcname, std::unique_ptr<ClassDef>( new ClassDefImpl(fileName,startLine,startColumn,tcname,ClassDef::Class)))); - templateClass->setTemplateMaster(this); - templateClass->setOuterScope(getOuterScope()); - templateClass->setHidden(isHidden()); - templateClass->setArtificial(isArtificial()); - m_impl->templateInstances->insert(templSpec,templateClass); - - // also add nested classes - for (const auto &innerCd : m_impl->innerClasses) + if (templateClass) { - QCString innerName = tcname+"::"+innerCd->localName(); - ClassDefMutable *innerClass = - toClassDefMutable( - Doxygen::classLinkedMap->add(innerName, - std::unique_ptr<ClassDef>( - new ClassDefImpl(fileName,startLine,startColumn,innerName,ClassDef::Class)))); - if (innerClass) + templateClass->setTemplateMaster(this); + templateClass->setOuterScope(getOuterScope()); + templateClass->setHidden(isHidden()); + templateClass->setArtificial(isArtificial()); + m_impl->templateInstances->insert(templSpec,templateClass); + + // also add nested classes + for (const auto &innerCd : m_impl->innerClasses) { - templateClass->addInnerCompound(innerClass); - innerClass->setOuterScope(templateClass); - innerClass->setHidden(isHidden()); - innerClass->setArtificial(TRUE); - freshInstance=TRUE; + QCString innerName = tcname+"::"+innerCd->localName(); + ClassDefMutable *innerClass = + toClassDefMutable( + Doxygen::classLinkedMap->add(innerName, + std::unique_ptr<ClassDef>( + new ClassDefImpl(fileName,startLine,startColumn,innerName,ClassDef::Class)))); + if (innerClass) + { + templateClass->addInnerCompound(innerClass); + innerClass->setOuterScope(templateClass); + innerClass->setHidden(isHidden()); + innerClass->setArtificial(TRUE); + freshInstance=TRUE; + } } } } |