logic: Fixed declaration locations sometimes not visible

This commit is contained in:
Eberhard Graether
2016-04-20 21:41:26 +02:00
parent 1bf721588b
commit 03675e1658
@@ -294,6 +294,7 @@ std::vector<CodeSnippetParams> CodeController::getSnippetsForActiveTokenLocation
const TokenLocationCollection* collection, Id declarationId
) const {
std::vector<CodeSnippetParams> snippets;
size_t declarationFileCount = 0;
collection->forEachTokenLocationFile(
[&](std::shared_ptr<TokenLocationFile> file) -> void
@@ -309,7 +310,7 @@ std::vector<CodeSnippetParams> CodeController::getSnippetsForActiveTokenLocation
}
);
if (snippets.size() < 10 && (isDeclarationFile || collection->getTokenLocationFileCount() < 5 || file->isWholeCopy))
if (declarationFileCount < 5 && (isDeclarationFile || collection->getTokenLocationFileCount() < 5 || file->isWholeCopy))
{
std::vector<CodeSnippetParams> fileSnippets = getSnippetsForActiveTokenLocationsInFile(file);
@@ -330,6 +331,11 @@ std::vector<CodeSnippetParams> CodeController::getSnippetsForActiveTokenLocation
params.isCollapsed = true;
snippets.push_back(params);
}
if (isDeclarationFile)
{
declarationFileCount++;
}
}
);