summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2019-07-28 10:06:35 -0400
committerPeter LaFosse <peter@vector35.com>2019-08-03 10:21:31 -0400
commit8bda3399997c0af7fbba6c8a6cf3d22cdd6d0297 (patch)
tree3093a1089d7a7c68763173b2dc5fd55c5650183d /ui
parent5581a6e80d4c0e983147517e23aeb51f3639fa28 (diff)
Fix symbol list issues. Vector35/binaryninja-api #1412
Diffstat (limited to 'ui')
-rw-r--r--ui/symbollist.h16
1 files changed, 6 insertions, 10 deletions
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<std::string> m_archNames;
std::vector<NamedObject> m_allSyms;
- std::vector<NamedObject> m_curSyms;
+ std::vector<NamedObject> m_curSymsBySortOrder;
+ std::vector<NamedObject> 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();