From 5e08d0b323e05642783808d22f3e21d3dfbb5ee2 Mon Sep 17 00:00:00 2001 From: Josh Ferrell Date: Mon, 8 Jan 2024 13:08:39 -0500 Subject: Fix crash when adding segments/sections while memory map is open --- ui/memorymap.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ui/memorymap.h b/ui/memorymap.h index 08d0dd51..5ae7c6e4 100644 --- a/ui/memorymap.h +++ b/ui/memorymap.h @@ -126,14 +126,15 @@ public: void highlightRelatedSegments(SectionRef section); void itemChanged(QTableWidgetItem* current, QTableWidgetItem* previous); - virtual void OnSegmentAdded(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override { updateInfo(); }; - virtual void OnSegmentUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override { updateInfo(); }; - virtual void OnSegmentRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override { updateInfo(); }; + virtual void OnSegmentAdded(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override; + virtual void OnSegmentUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override; + virtual void OnSegmentRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override; Q_SIGNALS: void currentSegmentChanged(SegmentRef current); void addressDoubleClicked(uint64_t address); void rawAddressDoubleClicked(uint64_t address); + void segmentsChanged(); }; /*! @@ -171,13 +172,14 @@ public: void highlightRelatedSections(SegmentRef segment); void itemChanged(QTableWidgetItem* current, QTableWidgetItem* previous); - virtual void OnSectionAdded(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override { updateInfo(); }; - virtual void OnSectionUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override { updateInfo(); }; - virtual void OnSectionRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override { updateInfo(); }; + virtual void OnSectionAdded(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override; + virtual void OnSectionUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override; + virtual void OnSectionRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override; Q_SIGNALS: void currentSectionChanged(SectionRef current); void addressDoubleClicked(uint64_t address); + void sectionsChanged(); }; // I hate C++ @@ -284,4 +286,4 @@ class BINARYNINJAUIAPI MemoryMapSidebarWidgetType : public SidebarWidgetType public: MemoryMapSidebarWidgetType(); SidebarWidget* createWidget(ViewFrame* frame, BinaryViewRef data) override; -}; \ No newline at end of file +}; -- cgit v1.3.1