From 2c4711f657930e560713c5df47f4c0a5e1660552 Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Fri, 15 Jan 2016 13:02:30 +0100 Subject: [PATCH] logic: fixed undo redo not working for functions * added real NameHierarchy (with signatures) when creating nodes for the graph, instead of using the SearchIndex which doesn't know about signatures. --- src/lib/data/Storage.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/data/Storage.cpp b/src/lib/data/Storage.cpp index 6834acc8..fba0de1f 100644 --- a/src/lib/data/Storage.cpp +++ b/src/lib/data/Storage.cpp @@ -1586,17 +1586,19 @@ void Storage::addNodesToGraph(const std::vector nodeIds, Graph* graph) const for (const StorageNode& storageNode : storageNodes) { + NameHierarchy nameHierarchy = NameHierarchy::deserialize(storageNode.serializedName); + Node::NodeType type = Node::intToType(storageNode.type); Node* node = graph->createNode( storageNode.id, type, - m_tokenIndex.getNameHierarchyForTokenId(storageNode.id), + nameHierarchy, storageNode.defined ); if (type == Node::NODE_FUNCTION || type == Node::NODE_METHOD) { - std::shared_ptr lastElement = NameHierarchy::deserialize(storageNode.serializedName).back(); + std::shared_ptr lastElement = nameHierarchy.back(); if (lastElement) { node->addComponentSignature(