From e6ae84e453291a3472a3f04a7f8338eedb8b94a5 Mon Sep 17 00:00:00 2001 From: Zorg Date: Sun, 18 Aug 2024 07:23:00 -0700 Subject: [PATCH] Don't update memory viewer contents while data inspector is editing Fixes bug where the data inspector text file discards editing mode soon after entering it. --- Bit Slicer/ZGMemoryViewerController.m | 2 +- deps/HexFiend/DataInspectorRepresenter.h | 3 +++ deps/HexFiend/DataInspectorRepresenter.m | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Bit Slicer/ZGMemoryViewerController.m b/Bit Slicer/ZGMemoryViewerController.m index 8494b133..62e125fd 100644 --- a/Bit Slicer/ZGMemoryViewerController.m +++ b/Bit Slicer/ZGMemoryViewerController.m @@ -613,7 +613,7 @@ - (void)hexTextView:(HFTextView *)__unused representer didChangeProperties:(HFCo - (void)updateDisplayTimer:(NSTimer *)__unused timer { - if (_currentMemorySize > 0) + if (_currentMemorySize > 0 && !_dataInspectorRepresenter.zg_editing) { HFFPRange displayedLineRange = _textView.controller.displayedLineRange; diff --git a/deps/HexFiend/DataInspectorRepresenter.h b/deps/HexFiend/DataInspectorRepresenter.h index 1ba2c3bd..087b62ac 100644 --- a/deps/HexFiend/DataInspectorRepresenter.h +++ b/deps/HexFiend/DataInspectorRepresenter.h @@ -19,6 +19,9 @@ extern NSString * const DataInspectorDidDeleteAllRows; - (NSUInteger)rowCount; +// Bit Slicer addition: is the data inspector being edited? +@property (nonatomic, readonly) BOOL zg_editing; + - (IBAction)addRow:(id)sender; - (IBAction)removeRow:(id)sender; - (IBAction)doubleClickedTable:(id)sender; diff --git a/deps/HexFiend/DataInspectorRepresenter.m b/deps/HexFiend/DataInspectorRepresenter.m index 32e5d2d3..cbbb42fb 100755 --- a/deps/HexFiend/DataInspectorRepresenter.m +++ b/deps/HexFiend/DataInspectorRepresenter.m @@ -316,6 +316,11 @@ - (IBAction)doubleClickedTable:(id)sender { } } +- (BOOL)zg_editing +{ + return table.editedRow != -1; +} + - (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor { USE(control); NSInteger row = [table editedRow];