diff options
| author | blasty <blasty@local> | 2026-07-23 22:01:21 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-23 22:01:21 +0200 |
| commit | 4a3cf34f845e1865b2c1e663b2369ddbc490f5e6 (patch) | |
| tree | 1910467ac5161e5a03e3fd801244713c2497e529 /idatui/app.py | |
| parent | fix: don't let a late navigation steal focus from an open prompt (diff) | |
| download | ida-tui-4a3cf34f845e1865b2c1e663b2369ddbc490f5e6.tar.gz ida-tui-4a3cf34f845e1865b2c1e663b2369ddbc490f5e6.tar.xz ida-tui-4a3cf34f845e1865b2c1e663b2369ddbc490f5e6.zip | |
fix: follow/double-click a label lands on the label, not the function entry
resolve(name) went through lookup_funcs, which for a mid-function label
(loc_/locret_) does get_name_ea -> label ea, then get_function(ea) and reports
the CONTAINING function's entry address. So double-clicking (or following) a
label jumped to the top of the function instead of the label's own address.
Add a server tool resolve_names that returns the address a name actually denotes
via idaapi.get_name_ea (functions, labels and data alike), and route
Program.resolve() through it, keeping lookup_funcs only as a fallback for the
"did you mean ..." suggestion on an unknown name.
Verified: resolve('loc_2040') -> 0x2040 (was the function entry); double-click
follow on a label row lands on the label ea. Regression sweep
follow_xrefs/xref_labels/rename/rename_history/decomp_follow_self/search/
listing_view/disasm_nav/mouse 50/0. Needs a supervisor restart (new tool).
Diffstat (limited to 'idatui/app.py')
0 files changed, 0 insertions, 0 deletions
