diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/mi/mi-main.c | 7 |
2 files changed, 7 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a7a87ee..9ee44fb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2017-09-16 Simon Marchi <simon.marchi@ericsson.com> + * mi/mi-main.c (mi_load_progress): Restore current_uiout using a + scoped_restore. + +2017-09-16 Simon Marchi <simon.marchi@ericsson.com> + * mi/mi-main.c (mi_load_progress): Make uiout variable a unique_ptr. diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 0359dc1..c06ef18 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -2324,13 +2324,11 @@ mi_load_progress (const char *section_name, static steady_clock::time_point last_update; static char *previous_sect_name = NULL; int new_section; - struct ui_out *saved_uiout; struct mi_interp *mi = (struct mi_interp *) current_interpreter (); /* 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 = current_uiout; std::unique_ptr<ui_out> uiout; @@ -2344,7 +2342,8 @@ mi_load_progress (const char *section_name, else return; - current_uiout = uiout.get (); + scoped_restore save_uiout + = make_scoped_restore (¤t_uiout, uiout.get ()); new_section = (previous_sect_name ? strcmp (previous_sect_name, section_name) : 1); @@ -2386,8 +2385,6 @@ mi_load_progress (const char *section_name, fputs_unfiltered ("\n", mi->raw_stdout); gdb_flush (mi->raw_stdout); } - - current_uiout = saved_uiout; } static void |