diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp index 1022fc1374f5c38feba4b8684a45ee50a5ebc478..2850bcd92d545ffca8cd41873ca21854226ed950 100644 --- a/src/plugins/cppeditor/cpphoverhandler.cpp +++ b/src/plugins/cppeditor/cpphoverhandler.cpp @@ -327,8 +327,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in FullySpecifiedType firstType = result.first; // result of `type of expression'. Symbol *lookupSymbol = result.second; // lookup symbol - Symbol *resolvedSymbol = 0; - Name *resolvedName = 0; + Symbol *resolvedSymbol = lookupSymbol; + Name *resolvedName = lookupSymbol->name(); firstType = resolve(firstType, typeOfExpression.lookupContext(), &resolvedSymbol, &resolvedName); @@ -343,9 +343,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in overview.setShowReturnTypes(true); overview.setShowFullyQualifiedNamed(true); - if (lookupSymbol && lookupSymbol->isDeclaration()) { - Declaration *decl = lookupSymbol->asDeclaration(); - m_toolTip = overview.prettyType(firstType, decl->name()); + if (lookupSymbol && (lookupSymbol->isDeclaration() || lookupSymbol->isArgument())) { + m_toolTip = overview.prettyType(firstType, buildHelpId(lookupSymbol, lookupSymbol->name())); } else if (firstType->isClassType() || firstType->isEnumType() || firstType->isForwardClassDeclarationType()) {