diff options
author | albert-github <albert.tests@gmail.com> | 2021-01-11 12:56:35 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2021-01-11 12:56:35 (GMT) |
commit | ab483cd3ba39614dacc4f4e3901ac1cf76d413ca (patch) | |
tree | da6847c38629de04c2d58e789220cb559bf98271 /src/dotclassgraph.cpp | |
parent | f8ad8a10d41db30c68afb62338186c2bc1bc9754 (diff) | |
download | Doxygen-ab483cd3ba39614dacc4f4e3901ac1cf76d413ca.zip Doxygen-ab483cd3ba39614dacc4f4e3901ac1cf76d413ca.tar.gz Doxygen-ab483cd3ba39614dacc4f4e3901ac1cf76d413ca.tar.bz2 |
bug_560861 Class graph does not differentiate same classes in different namespace
The checking should not take place on the display name of the class but on its full name.
Diffstat (limited to 'src/dotclassgraph.cpp')
-rw-r--r-- | src/dotclassgraph.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dotclassgraph.cpp b/src/dotclassgraph.cpp index be318e4..e719d79 100644 --- a/src/dotclassgraph.cpp +++ b/src/dotclassgraph.cpp @@ -27,26 +27,31 @@ void DotClassGraph::addClass(const ClassDef *cd,DotNode *n,int prot, int edgeStyle = (label || prot==EdgeInfo::Orange || prot==EdgeInfo::Orange2) ? EdgeInfo::Dashed : EdgeInfo::Solid; QCString className; + QCString fullName; if (cd->isAnonymous()) { className="anonymous:"; className+=label; + fullName = className; } else if (usedName) // name is a typedef { className=usedName; + fullName = className; } else if (templSpec) // name has a template part { className=insertTemplateSpecifierInScope(cd->displayName(),templSpec); + fullName =insertTemplateSpecifierInScope(cd->name(),templSpec); } else // just a normal name { className=cd->displayName(); + fullName = cd->name(); } //printf("DotClassGraph::addClass(class='%s',parent=%s,prot=%d,label=%s,dist=%d,usedName=%s,templSpec=%s,base=%d)\n", // className.data(),n->label().data(),prot,label,distance,usedName,templSpec,base); - DotNode *bn = m_usedNodes->find(className); + DotNode *bn = m_usedNodes->find(fullName); if (bn) // class already inserted { if (base) @@ -94,7 +99,7 @@ void DotClassGraph::addClass(const ClassDef *cd,DotNode *n,int prot, n->addParent(bn); } bn->setDistance(distance); - m_usedNodes->insert(className,bn); + m_usedNodes->insert(fullName,bn); //printf(" add new child node '%s' to %s hidden=%d url=%s\n", // className.data(),n->label().data(),cd->isHidden(),tmp_url.data()); |