From: ams Date: Fri, 18 Nov 2005 17:02:14 +0000 (+0000) Subject: 2005-11-18 Andrew Stubbs X-Git-Tag: before-mmap-revamp~73 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=9a4f2930384b5472a1f9cb5d351370613b929877;p=pf3gnuchains%2Fpf3gnuchains4x.git 2005-11-18 Andrew Stubbs * mi/mi-main.c (mi_load_progress): Ensure the use of the correct mi uiout for the duration of the function. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0c70f1682e..9406230141 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2005-11-18 Andrew Stubbs + + * mi/mi-main.c (mi_load_progress): Ensure the use of the correct mi + uiout for the duration of the function. + 2005-11-18 Nick Roberts * mi/gdb-mi.el (gdb-source-file-list): Declare. diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 17c9c38d51..e5644b58d0 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1365,9 +1365,18 @@ mi_load_progress (const char *section_name, static struct timeval last_update; static char *previous_sect_name = NULL; int new_section; + struct ui_out *saved_uiout; - if (!current_interp_named_p (INTERP_MI) - && !current_interp_named_p (INTERP_MI1)) + /* This function is called through deprecated_show_load_progress + which means uiout may not be correct. Fix it for the duration + of this function. */ + saved_uiout = uiout; + + if (current_interp_named_p (INTERP_MI)) + uiout = mi_out_new (2); + else if (current_interp_named_p (INTERP_MI1)) + uiout = mi_out_new (1); + else return; update_threshold.tv_sec = 0; @@ -1424,6 +1433,9 @@ mi_load_progress (const char *section_name, fputs_unfiltered ("\n", raw_stdout); gdb_flush (raw_stdout); } + + xfree (uiout); + uiout = saved_uiout; } void