On 03/20/2013 01:43 PM, Gerd Hoffmann wrote: > >> We have only one DisplayState, so there is no need for the "next" >> linking, rip it. Also consolidate all displaystate initialization >> into init_displaystate(). This function is called by vl.c after >> creating the devices (and thus all QemuConsoles) and before >> initializing DisplayChangeListensers (aka gtk/sdl/vnc/spice ui). >> >> Signed-off-by: Gerd Hoffmann >> --- >> include/ui/console.h | 5 +--- >> ui/console.c | 73 +++++++++++++++++++++++-------** >> -------------------- >> vl.c | 6 +---- >> 3 files changed, 36 insertions(+), 48 deletions(-) >> >> diff --git a/include/ui/console.h b/include/ui/console.h >> index a234c72..3725dae 100644 >> --- a/include/ui/console.h >> +++ b/include/ui/console.h >> @@ -189,12 +189,9 @@ struct DisplayState { >> bool have_text; >> - s = &display_state; >> - while (*s != NULL) >> - s = &(*s)->next; >> - ds->next = NULL; >> - *s = ds; >> + if (!display_state) { >> + display_state = g_new0(DisplayState, 1); >> + } >> + return display_state; >> } >> >> [snip] > -DisplayState *get_displaystate(void) >> +/* >> + * Called by main(), after creating QemuConsoles >> + * and before initializing ui (sdl/vnc/...). >> + */ >> +DisplayState *init_displaystate(void) >> { >> + int i; >> + >> if (!display_state) { >> - dumb_display_init (); >> + display_state = g_new0(DisplayState, 1); >> } >> > > Shouldn't get_alloc_displaystate() be used here instead?