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 <address@hidden>
---
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?