summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorXusheng <xusheng@vector35.com>2021-04-19 17:04:24 +0800
committerXusheng <xusheng@vector35.com>2021-05-04 14:04:39 +0800
commitad71a51fef925779f5ae30b597efb9979607b693 (patch)
tree5f5275f7dc9501c1c3ac824a67d497fc7f39f8fa /ui
parent1e2bb984e2fe601b78a4afff3c9097f8f181f9c9 (diff)
render non-member access to type on a new line
add Python API for retrieving all type fields referenced by code change m_updatesRequired to std::atomic_bool fix potential UAF after calling AnalysisCompletionEvent::Cancel()
Diffstat (limited to 'ui')
-rw-r--r--ui/typeview.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/ui/typeview.h b/ui/typeview.h
index b9dab368..87f64ae2 100644
--- a/ui/typeview.h
+++ b/ui/typeview.h
@@ -28,7 +28,8 @@ enum BINARYNINJAUIAPI TypeDefinitionLineType
EnumDefinitionLineType,
EnumMemberLineType,
EnumDefinitionEndLineType,
- PaddingLineType
+ PaddingLineType,
+ UndefinedXrefLineType
};
struct BINARYNINJAUIAPI TypeDefinitionLine
@@ -113,7 +114,8 @@ class BINARYNINJAUIAPI TypeView: public QAbstractScrollArea, public View, public
std::map<BinaryNinja::QualifiedName, std::vector<TypeDefinitionLine>> m_typeLines;
std::vector<TypeLineIndex> m_types;
- bool m_updatesRequired;
+ BinaryNinja::Ref<BinaryNinja::AnalysisCompletionEvent> m_completionEvent = nullptr;
+ std::atomic_bool m_updatesRequired;
QTimer* m_updateTimer;
Qt::KeyboardModifiers m_ctrl, m_command;
@@ -208,7 +210,9 @@ public:
virtual ArchitectureRef getOrAskForArchitecture();
- static std::vector<TypeDefinitionLine> getLinesForType(const std::string& name, const std::string& varName, size_t index, TypeRef type, TypeRef parent, int paddingCols);
+ static std::vector<TypeDefinitionLine> getLinesForType(const std::string& name,
+ const std::string& varName, size_t index, TypeRef type, TypeRef parent, BinaryViewRef data,
+ int paddingCols);
protected:
virtual void resizeEvent(QResizeEvent* event) override;