Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
ui/vc: do not parse VC-specific options in Spice and GTK
In commit 6f974c8 ("gtk: overwrite the console.c char driver"), I
shared the VC console parse handler with GTK. And later on in commit
d8aec9d ("display: add -display spice-app launching a Spice client"),
I also used it to handle spice-app VC.

This is not necessary, the VC console options (width/height/cols/rows)
are specific, and unused by tty-level GTK/Spice VC.

This is not a breaking change, as those options are still being parsed
by QAPI ChardevVC. Adjust the documentation about it.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230830093843.3531473-44-marcandre.lureau@redhat.com>
  • Loading branch information
elmarco committed Sep 4, 2023
1 parent 322dae4 commit 32aa1f8
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 7 deletions.
3 changes: 0 additions & 3 deletions include/chardev/char.h
Expand Up @@ -320,7 +320,4 @@ GSource *qemu_chr_timeout_add_ms(Chardev *chr, guint ms,
void suspend_mux_open(void);
void resume_mux_open(void);

/* console.c */
void qemu_chr_parse_vc(QemuOpts *opts, ChardevBackend *backend, Error **errp);

#endif
4 changes: 4 additions & 0 deletions qapi/char.json
Expand Up @@ -390,6 +390,10 @@
#
# @rows: console height, in chars
#
# Note: the options are only effective when the VNC or SDL graphical
# display backend is active. They are ignored with the GTK, Spice, VNC
# and D-Bus display backends.
#
# Since: 1.5
##
{ 'struct': 'ChardevVC',
Expand Down
4 changes: 2 additions & 2 deletions ui/console.c
Expand Up @@ -2708,7 +2708,7 @@ void qemu_display_help(void)
}
}

void qemu_chr_parse_vc(QemuOpts *opts, ChardevBackend *backend, Error **errp)
static void vc_chr_parse(QemuOpts *opts, ChardevBackend *backend, Error **errp)
{
int val;
ChardevVC *vc;
Expand Down Expand Up @@ -2746,7 +2746,7 @@ static void char_vc_class_init(ObjectClass *oc, void *data)
{
ChardevClass *cc = CHARDEV_CLASS(oc);

cc->parse = qemu_chr_parse_vc;
cc->parse = vc_chr_parse;
cc->open = vc_chr_open;
cc->chr_write = vc_chr_write;
cc->chr_accept_input = vc_chr_accept_input;
Expand Down
1 change: 0 additions & 1 deletion ui/gtk.c
Expand Up @@ -1860,7 +1860,6 @@ static void char_gd_vc_class_init(ObjectClass *oc, void *data)
{
ChardevClass *cc = CHARDEV_CLASS(oc);

cc->parse = qemu_chr_parse_vc;
cc->open = gd_vc_open;
cc->chr_write = gd_vc_chr_write;
cc->chr_accept_input = gd_vc_chr_accept_input;
Expand Down
7 changes: 6 additions & 1 deletion ui/spice-app.c
Expand Up @@ -96,14 +96,19 @@ static void vc_chr_set_echo(Chardev *chr, bool echo)
/* TODO: set echo for frontends QMP and qtest */
}

static void vc_chr_parse(QemuOpts *opts, ChardevBackend *backend, Error **errp)
{
/* fqdn is dealt with in vc_chr_open() */
}

static void char_vc_class_init(ObjectClass *oc, void *data)
{
VCChardevClass *vc = CHARDEV_VC_CLASS(oc);
ChardevClass *cc = CHARDEV_CLASS(oc);

vc->parent_open = cc->open;

cc->parse = qemu_chr_parse_vc;
cc->parse = vc_chr_parse;
cc->open = vc_chr_open;
cc->chr_set_echo = vc_chr_set_echo;
}
Expand Down

0 comments on commit 32aa1f8

Please sign in to comment.