diff --git a/src/lib/data/PersistentStorage.cpp b/src/lib/data/PersistentStorage.cpp index ba72feb7..27c3409d 100644 --- a/src/lib/data/PersistentStorage.cpp +++ b/src/lib/data/PersistentStorage.cpp @@ -824,16 +824,21 @@ std::shared_ptr PersistentStorage::getGraphForActiveTokenIds(const std::v if (ids.size() >= 1 || isNamespace) { + std::set symbolIds; for (const StorageSymbol& symbol : m_sqliteStorage.getAllByIds(ids)) { if (symbol.id > 0 && (!isNamespace || intToDefinitionKind(symbol.definitionKind) != DEFINITION_IMPLICIT)) { nodeIds.push_back(symbol.id); } + symbolIds.insert(symbol.id); } for (const StorageNode& node : m_sqliteStorage.getAllByIds(ids)) { - nodeIds.push_back(node.id); + if (symbolIds.find(node.id) == symbolIds.end()) + { + nodeIds.push_back(node.id); + } } if (!isNamespace)