diff options
Diffstat (limited to 'src/analysis/disass/output.c')
-rw-r--r-- | src/analysis/disass/output.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c index f5decb7..0d85870 100644 --- a/src/analysis/disass/output.c +++ b/src/analysis/disass/output.c @@ -112,7 +112,9 @@ void print_disassembled_instructions(GCodeBuffer *buffer, GExeFormat *format, GA content = g_binary_format_get_content(G_BIN_FORMAT(format)); - count = g_arch_processor_count_disassembled_instructions(proc); + g_arch_processor_lock(proc); + + count = g_arch_processor_count_instructions(proc); id = gtk_status_stack_add_activity(status, _("Printing all disassebled parts..."), count); @@ -120,7 +122,7 @@ void print_disassembled_instructions(GCodeBuffer *buffer, GExeFormat *format, GA for (i = 0; i < count; i++) { - instr = g_arch_processor_get_disassembled_instruction(proc, i); + instr = g_arch_processor_get_instruction(proc, i); iaddr = get_mrange_addr(g_arch_instruction_get_range(instr)); @@ -322,12 +324,16 @@ void print_disassembled_instructions(GCodeBuffer *buffer, GExeFormat *format, GA g_code_buffer_append_new_line(buffer, line); + g_object_unref(G_OBJECT(instr)); + gtk_status_stack_update_activity_value(status, id, 1); } gtk_status_stack_remove_activity(status, id); + g_arch_processor_unlock(proc); + g_object_unref(G_OBJECT(content)); if (portions != NULL) |