From 8bda3399997c0af7fbba6c8a6cf3d22cdd6d0297 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Sun, 28 Jul 2019 10:06:35 -0400 Subject: Fix symbol list issues. Vector35/binaryninja-api #1412 --- ui/symbollist.h | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'ui') diff --git a/ui/symbollist.h b/ui/symbollist.h index c33472e9..8010d3e2 100644 --- a/ui/symbollist.h +++ b/ui/symbollist.h @@ -33,15 +33,13 @@ public: struct NamedObject { SymbolRef sym; - std::string archName; mutable std::string name; mutable bool named; - NamedObject() : sym(nullptr), archName(emptyArch), named(false) {} - NamedObject(SymbolRef s, std::string& a=emptyArch) : sym(s), archName(a), named(false) {} + NamedObject() : sym(nullptr), named(false) {} + NamedObject(SymbolRef s) : sym(s), named(false) {} NamedObject(const NamedObject& n) { sym = n.sym; - archName = n.archName; named = n.named; name = n.name; } @@ -49,7 +47,6 @@ public: NamedObject(const NamedObject&& n) { sym = std::move(n.sym); - archName = std::move(n.archName); name = std::move(n.name); named = n.named; } @@ -57,7 +54,6 @@ public: NamedObject& operator=(const NamedObject&& n) { sym = std::move(n.sym); - archName = std::move(n.archName); name = std::move(n.name); named = n.named; return *this; @@ -66,7 +62,6 @@ public: NamedObject& operator=(const NamedObject& n) { sym = n.sym; - archName = n.archName; name = n.name; named = n.named; return *this; @@ -116,9 +111,7 @@ private: enum SymbolListUpdateType { UnnamedFunctionAddedToSymbolList, - UnnamedFunctionRemovedFromSymbolList, UnnamedDataAddedToSymbolList, - UnnamedDataRemovedFromSymbolList, SymbolAddedToSymbolList, SymbolUpdatedInSymbolList, SymbolRemovedFromSymbolList @@ -153,7 +146,8 @@ private: BinaryViewRef m_data; std::set m_archNames; std::vector m_allSyms; - std::vector m_curSyms; + std::vector m_curSymsBySortOrder; + std::vector m_curSymsByAddress; NamedObject m_currentSym; std::string m_filter; @@ -248,6 +242,8 @@ public: SortType getSortType() const { return m_sortType; } NamedObject getCurrentSym() const { return m_currentSym; } + bool checkTriggerFullUpdate(); + Q_SIGNALS: void afterListReset(); void beforeListReset(); -- cgit v1.3.1