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 <[email protected]>
>> ---
>> 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?