diff options
| author | Xusheng <xusheng@vector35.com> | 2021-04-19 17:04:24 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2021-05-04 14:04:39 +0800 |
| commit | ad71a51fef925779f5ae30b597efb9979607b693 (patch) | |
| tree | 5f5275f7dc9501c1c3ac824a67d497fc7f39f8fa /ui | |
| parent | 1e2bb984e2fe601b78a4afff3c9097f8f181f9c9 (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.h | 10 |
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; |
