From b055b4c7dcf789bcde915492b1b28e6196076ee5 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Wed, 25 Jul 2018 20:53:54 +0200 Subject: [PATCH] logic: Fixed click on macro activated first of multiple symbols instead of showing list --- src/lib/data/storage/PersistentStorage.cpp | 46 ++++++---------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/src/lib/data/storage/PersistentStorage.cpp b/src/lib/data/storage/PersistentStorage.cpp index dedafd88..b32fd034 100644 --- a/src/lib/data/storage/PersistentStorage.cpp +++ b/src/lib/data/storage/PersistentStorage.cpp @@ -1287,39 +1287,27 @@ std::vector PersistentStorage::getNodeIdsForLocationIds(const std::vector edgeIds; std::set nodeIds; - std::set implicitEdgeIds; std::set implicitNodeIds; for (const StorageOccurrence& occurrence: m_sqliteIndexStorage.getOccurrencesForLocationIds(locationIds)) { - const Id elementId = occurrence.elementId; + Id elementId = occurrence.elementId; const StorageEdge edge = m_sqliteIndexStorage.getFirstById(elementId); if (edge.id != 0) { - auto it = m_symbolDefinitionKinds.find(edge.targetNodeId); - if (it != m_symbolDefinitionKinds.end() && it->second == DEFINITION_IMPLICIT) - { - implicitEdgeIds.insert(edge.targetNodeId); - } - else - { - edgeIds.insert(edge.targetNodeId); - } + elementId = edge.targetNodeId; } - else if (m_sqliteIndexStorage.isNode(elementId)) + + auto it = m_symbolDefinitionKinds.find(elementId); + if (it != m_symbolDefinitionKinds.end() && it->second == DEFINITION_IMPLICIT) { - auto it = m_symbolDefinitionKinds.find(elementId); - if (it != m_symbolDefinitionKinds.end() && it->second == DEFINITION_IMPLICIT) - { - implicitNodeIds.insert(elementId); - } - else - { - nodeIds.insert(elementId); - } + implicitNodeIds.insert(elementId); + } + else + { + nodeIds.insert(elementId); } } @@ -1327,18 +1315,8 @@ std::vector PersistentStorage::getNodeIdsForLocationIds(const std::vector PersistentStorage::getSourceLocationsForTokenIds(