diff --git a/kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp b/kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp --- a/kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp +++ b/kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp @@ -419,9 +419,11 @@ first = false; eventuallyMakeTypeLinks(argType); - if (currentArgNum < decls.size()) { + // Must count from the back to skip possible template arguments before the function arguments. + int currentArgIndex = decls.size() - type->arguments().size() + currentArgNum; + if (currentArgIndex >= 0 && currentArgIndex < decls.size()) { modifyHtml() += QLatin1Char(' ') + identifierHighlight( - decls[currentArgNum]->identifier().toString().toHtmlEscaped(), d->m_declaration); + decls[currentArgIndex]->identifier().toString().toHtmlEscaped(), d->m_declaration); } if (currentArgNum >= firstDefaultParam) {