diff options
| author | blasty <blasty@local> | 2026-07-24 21:56:04 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-24 21:56:04 +0200 |
| commit | cea4e6a54b811c64fc660dd59e8eaea5cf8bbce8 (patch) | |
| tree | 2537c14ffb4d7cbaaae254606be4c1b3706c7142 | |
| parent | split-view phase 1: side-by-side listing <-> pseudocode layout (diff) | |
| download | ida-tui-cea4e6a54b811c64fc660dd59e8eaea5cf8bbce8.tar.gz ida-tui-cea4e6a54b811c64fc660dd59e8eaea5cf8bbce8.tar.xz ida-tui-cea4e6a54b811c64fc660dd59e8eaea5cf8bbce8.zip | |
split: guard toggle behind prompt-active; clear _split in the pilot reset
Two small correctness tidies before phase 2:
* action_toggle_split now no-ops while a search/rename/... prompt owns the
keyboard (parity with the other app actions; a stray 's' can't split mid-edit).
* the pilot reset() clears app._split so split state can't leak into the next
scenario if one crashes mid-run.
| -rw-r--r-- | idatui/app.py | 2 | ||||
| -rw-r--r-- | tests/test_scenarios.py | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/idatui/app.py b/idatui/app.py index 68e23df..b923a7c 100644 --- a/idatui/app.py +++ b/idatui/app.py @@ -3088,6 +3088,8 @@ class IdaTui(App): def action_toggle_split(self) -> None: """Toggle the side-by-side listing ⇄ pseudocode view (Ghidra-style).""" + if self._prompt_active(): + return # a search/rename/… prompt owns the keyboard if self._cur is None or self.program is None: self._status("open a function first") return diff --git a/tests/test_scenarios.py b/tests/test_scenarios.py index aa0ecbf..cfa3e3a 100644 --- a/tests/test_scenarios.py +++ b/tests/test_scenarios.py @@ -227,6 +227,7 @@ class Ctx: app._pref = "decomp" if app._active == "hex": app._active = "decomp" + app._split = False await self.pause(0.02) |
