summaryrefslogtreecommitdiffstats
path: root/src/dot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dot.cpp')
-rw-r--r--src/dot.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/dot.cpp b/src/dot.cpp
index 4aae44d..69dc041 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -290,8 +290,18 @@ static void computeTemplateInstance(
QCString templSpec;
while (extractClassNameFromType(actualArg,pos,name,templSpec))
{
+ Definition *scopeDef = cd->getOuterScope();
+ QCString scopeName;
+ if (scopeDef) scopeName = scopeDef->qualifiedName();
//printf("name=%s templSpec=%s\n",name.data(),templSpec.data());
- ClassDef *acd=getResolvedClass(name);
+ ClassDef *acd=0;
+
+ // try with scope.
+ if (!scopeName.isEmpty())
+ acd = getResolvedClass(scopeName+"::"+name);
+ // try without scope.
+ // TODO: try intermediate scopes as well!
+ if (acd==0) acd = getResolvedClass(name);
if (acd && !templSpec.isEmpty())
{
// store specific template instance in the class