Skip to content

Commit 5e08d0b

Browse files
committed
Fix crash when adding segments/sections while memory map is open
1 parent 869785f commit 5e08d0b

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

ui/memorymap.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,15 @@ class BINARYNINJAUIAPI SegmentWidget : public QWidget, public BinaryNinja::Binar
126126
void highlightRelatedSegments(SectionRef section);
127127
void itemChanged(QTableWidgetItem* current, QTableWidgetItem* previous);
128128

129-
virtual void OnSegmentAdded(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override { updateInfo(); };
130-
virtual void OnSegmentUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override { updateInfo(); };
131-
virtual void OnSegmentRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override { updateInfo(); };
129+
virtual void OnSegmentAdded(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override;
130+
virtual void OnSegmentUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override;
131+
virtual void OnSegmentRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override;
132132

133133
Q_SIGNALS:
134134
void currentSegmentChanged(SegmentRef current);
135135
void addressDoubleClicked(uint64_t address);
136136
void rawAddressDoubleClicked(uint64_t address);
137+
void segmentsChanged();
137138
};
138139

139140
/*!
@@ -171,13 +172,14 @@ class BINARYNINJAUIAPI SectionWidget : public QWidget, public BinaryNinja::Binar
171172
void highlightRelatedSections(SegmentRef segment);
172173
void itemChanged(QTableWidgetItem* current, QTableWidgetItem* previous);
173174

174-
virtual void OnSectionAdded(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override { updateInfo(); };
175-
virtual void OnSectionUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override { updateInfo(); };
176-
virtual void OnSectionRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override { updateInfo(); };
175+
virtual void OnSectionAdded(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override;
176+
virtual void OnSectionUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override;
177+
virtual void OnSectionRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override;
177178

178179
Q_SIGNALS:
179180
void currentSectionChanged(SectionRef current);
180181
void addressDoubleClicked(uint64_t address);
182+
void sectionsChanged();
181183
};
182184

183185
// I hate C++
@@ -284,4 +286,4 @@ class BINARYNINJAUIAPI MemoryMapSidebarWidgetType : public SidebarWidgetType
284286
public:
285287
MemoryMapSidebarWidgetType();
286288
SidebarWidget* createWidget(ViewFrame* frame, BinaryViewRef data) override;
287-
};
289+
};

0 commit comments

Comments
 (0)