diff --git a/plugins/quickopen/duchainitemquickopen.cpp b/plugins/quickopen/duchainitemquickopen.cpp --- a/plugins/quickopen/duchainitemquickopen.cpp +++ b/plugins/quickopen/duchainitemquickopen.cpp @@ -160,7 +160,11 @@ return false; } - if (m_openDefinition && FunctionDefinition::definition(decl)) { + if (m_openDefinition && + // only look for definitions if we don't already have a FunctionDefinition + !(decl->isFunctionDeclaration() && decl->isDefinition()) && + FunctionDefinition::definition(decl)) { + decl = FunctionDefinition::definition(decl); }