From 986abcaf21ee2ebf4f5b48f7fc5b05833fa55d34 Mon Sep 17 00:00:00 2001 From: blasty Date: Thu, 9 Jul 2026 15:44:11 +0200 Subject: fix: pseudocode names not refreshing across history after rename MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit force_recompile takes 'items=[{addr}]', not 'addr' — my call raised and was swallowed, so the Hex-Rays cache was never cleared and a caller's cached pseudocode kept showing the old callee name on 'back' (disasm refreshed because its names are live). Use the correct params. History test now also caches and verifies the caller's pseudocode. pilot suite 52/52. --- idatui/domain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'idatui') diff --git a/idatui/domain.py b/idatui/domain.py index 1f52be6..55a95d5 100644 --- a/idatui/domain.py +++ b/idatui/domain.py @@ -426,7 +426,7 @@ class Program: # Cached before a rename: names may be stale. Drop the server's # Hex-Rays cache so the refetch reflects the new names. try: - self.client.call("force_recompile", addr=hex(ea)) + self.client.call("force_recompile", items=[{"addr": hex(ea)}]) except Exception: # noqa: BLE001 pass envelope = self.client.call_envelope("decompile", addr=hex(ea)) -- cgit v1.3.1-sl0p