From 768bf0dd364239786b9594f60ced85b331ebda5f Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Mon, 13 Jan 2025 11:26:18 -0500 Subject: Move all FeatureMap processing to the background. --- ui/featuremap.h | 13 ++----------- ui/notificationsdispatcher.h | 4 ++-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/ui/featuremap.h b/ui/featuremap.h index 17407d1e..d21760ec 100644 --- a/ui/featuremap.h +++ b/ui/featuremap.h @@ -33,7 +33,7 @@ class SplitPaneWidget; \ingroup featuremap */ -class BINARYNINJAUIAPI FeatureMap : public QWidget, public BinaryNinja::BinaryDataNotification +class BINARYNINJAUIAPI FeatureMap : public QWidget { Q_OBJECT @@ -42,7 +42,6 @@ class BINARYNINJAUIAPI FeatureMap : public QWidget, public BinaryNinja::BinaryDa std::unique_ptr m_staticImage = nullptr; std::vector m_ranges; - SplitPaneWidget* m_owner = nullptr; BinaryViewRef m_data; std::unique_ptr m_dispatcher = nullptr; @@ -81,15 +80,7 @@ class BINARYNINJAUIAPI FeatureMap : public QWidget, public BinaryNinja::BinaryDa void renderDataVariable(const BinaryNinja::DataVariable& var, bool ignoreString = false); - virtual void OnAnalysisFunctionAdded(BinaryNinja::BinaryView* data, BinaryNinja::Function* func) override; - virtual void OnAnalysisFunctionRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Function* func) override; - virtual void OnAnalysisFunctionUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Function* func) override; - virtual void OnDataVariableAdded(BinaryNinja::BinaryView* data, const BinaryNinja::DataVariable& var) override; - virtual void OnDataVariableRemoved(BinaryNinja::BinaryView* data, const BinaryNinja::DataVariable& var) override; - virtual void OnDataVariableUpdated(BinaryNinja::BinaryView* data, const BinaryNinja::DataVariable& var) override; - virtual void OnStringFound(BinaryNinja::BinaryView* data, BNStringType type, uint64_t offset, size_t len) override; - virtual void OnStringRemoved(BinaryNinja::BinaryView* data, BNStringType type, uint64_t offset, size_t len) override; - + uint8_t getSymbolColor(const SymbolRef& symbol); void drawImageRect(uint64_t addr, size_t len, uint8_t color); virtual QSize sizeHint() const override; diff --git a/ui/notificationsdispatcher.h b/ui/notificationsdispatcher.h index f3b3a7bd..05073525 100644 --- a/ui/notificationsdispatcher.h +++ b/ui/notificationsdispatcher.h @@ -165,8 +165,8 @@ public: void addSource(NotificationType source) { m_source = static_cast(static_cast(m_source) | static_cast(source)); } NotificationType getSource() const { return m_source; } NotificationTypes getSources() const { return static_cast(m_source); } - bool isObjectRemoval() const { return (m_source & (NotificationType::DataVariableRemoved | NotificationType::FunctionRemoved)); } - bool isRemoval() const { return (m_source & (NotificationType::DataVariableRemoved | NotificationType::FunctionRemoved | NotificationType::SymbolRemoved)); } + bool isObjectRemoval() const { return (m_source & (NotificationType::DataVariableRemoved | NotificationType::FunctionRemoved | NotificationType::StringRemoved)); } + bool isRemoval() const { return (m_source & (NotificationType::DataVariableRemoved | NotificationType::FunctionRemoved | NotificationType::SymbolRemoved | NotificationType::StringRemoved)); } }; -- cgit v1.3.1