summary refs log tree commit diff stats
path: root/ui/console.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2023-08-30 13:38:05 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2023-09-04 14:00:07 +0400
commit60cb14b4f9d94d750640f42e0f18a1710b8d6c1a (patch)
treebd35dcde29c0b7b84902c05be9ceddb875af7004 /ui/console.c
parent98ee9dab81b2bc75d6ccf86681053ed80f9fc9af (diff)
downloadfocaccia-qemu-60cb14b4f9d94d750640f42e0f18a1710b8d6c1a.tar.gz
focaccia-qemu-60cb14b4f9d94d750640f42e0f18a1710b8d6c1a.zip
ui/vc: move some text console initialization to qom handlers
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230830093843.3531473-32-marcandre.lureau@redhat.com>
Diffstat (limited to 'ui/console.c')
-rw-r--r--ui/console.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/ui/console.c b/ui/console.c
index 22505d093f..5d521ba79d 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -1413,9 +1413,20 @@ qemu_text_console_class_init(ObjectClass *oc, void *data)
     }
 }
 
+static const GraphicHwOps text_console_ops = {
+    .invalidate  = text_console_invalidate,
+    .text_update = text_console_update,
+};
+
 static void
 qemu_text_console_init(Object *obj)
 {
+    QemuTextConsole *c = QEMU_TEXT_CONSOLE(obj);
+
+    fifo8_create(&c->out_fifo, 16);
+    c->total_height = DEFAULT_BACKSCROLL;
+    QEMU_CONSOLE(c)->hw_ops = &text_console_ops;
+    QEMU_CONSOLE(c)->hw = c;
 }
 
 static void
@@ -2528,11 +2539,6 @@ static void text_console_update_cursor(void *opaque)
     }
 }
 
-static const GraphicHwOps text_console_ops = {
-    .invalidate  = text_console_invalidate,
-    .text_update = text_console_update,
-};
-
 static void vc_chr_open(Chardev *chr,
                         ChardevBackend *backend,
                         bool *be_opened,
@@ -2570,9 +2576,6 @@ static void vc_chr_open(Chardev *chr,
     s->chr = chr;
     drv->console = s;
 
-    fifo8_create(&s->out_fifo, 16);
-
-    s->total_height = DEFAULT_BACKSCROLL;
     if (QEMU_CONSOLE(s)->scanout.kind != SCANOUT_SURFACE) {
         if (active_console && active_console->scanout.kind == SCANOUT_SURFACE) {
             g_width = qemu_console_get_width(active_console, g_width);
@@ -2582,9 +2585,6 @@ static void vc_chr_open(Chardev *chr,
         QEMU_CONSOLE(s)->scanout.kind = SCANOUT_SURFACE;
     }
 
-    QEMU_CONSOLE(s)->hw_ops = &text_console_ops;
-    QEMU_CONSOLE(s)->hw = s;
-
     /* set current text attributes to default */
     drv->t_attrib = TEXT_ATTRIBUTES_DEFAULT;
     text_console_resize(s);