2005-11-18 Andrew Stubbs <andrew.stubbs@st.com>

* mi/mi-main.c (mi_load_progress): Ensure the use of the correct mi
	uiout for the duration of the function.
This commit is contained in:
Andrew Stubbs 2005-11-18 17:02:14 +00:00
parent 73562ad0c7
commit 0be75e0273
2 changed files with 19 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2005-11-18 Andrew Stubbs <andrew.stubbs@st.com>
* 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 <nickrob@snap.net.nz> 2005-11-18 Nick Roberts <nickrob@snap.net.nz>
* mi/gdb-mi.el (gdb-source-file-list): Declare. * mi/gdb-mi.el (gdb-source-file-list): Declare.

View file

@ -1365,9 +1365,18 @@ mi_load_progress (const char *section_name,
static struct timeval last_update; static struct timeval last_update;
static char *previous_sect_name = NULL; static char *previous_sect_name = NULL;
int new_section; int new_section;
struct ui_out *saved_uiout;
if (!current_interp_named_p (INTERP_MI) /* This function is called through deprecated_show_load_progress
&& !current_interp_named_p (INTERP_MI1)) 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; return;
update_threshold.tv_sec = 0; update_threshold.tv_sec = 0;
@ -1424,6 +1433,9 @@ mi_load_progress (const char *section_name,
fputs_unfiltered ("\n", raw_stdout); fputs_unfiltered ("\n", raw_stdout);
gdb_flush (raw_stdout); gdb_flush (raw_stdout);
} }
xfree (uiout);
uiout = saved_uiout;
} }
void void