aboutsummaryrefslogtreecommitdiff
path: root/ui
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
parent98ee9dab81b2bc75d6ccf86681053ed80f9fc9af (diff)
downloadqemu-60cb14b4f9d94d750640f42e0f18a1710b8d6c1a.zip
qemu-60cb14b4f9d94d750640f42e0f18a1710b8d6c1a.tar.gz
qemu-60cb14b4f9d94d750640f42e0f18a1710b8d6c1a.tar.bz2
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')
-rw-r--r--ui/console.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/ui/console.c b/ui/console.c
index 22505d0..5d521ba 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);