diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-02-17 12:42:20 +0400 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-03-14 15:16:19 +0400 |
commit | 26b032b9b746782a1ee5156a70cc074b6de5af0f (patch) | |
tree | ea65cc0e93dcc9b59d59e5035d51ab52b9bdb278 /ui/console.c | |
parent | 532042d57387d9144f38498a7210a5a50bb9bc31 (diff) | |
download | qemu-26b032b9b746782a1ee5156a70cc074b6de5af0f.zip qemu-26b032b9b746782a1ee5156a70cc074b6de5af0f.tar.gz qemu-26b032b9b746782a1ee5156a70cc074b6de5af0f.tar.bz2 |
ui/console: add a dpy_gfx_switch callback helper
Slight code improvement.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/console.c')
-rw-r--r-- | ui/console.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/ui/console.c b/ui/console.c index d3ecbb2..102fcf0 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1058,6 +1058,15 @@ static void console_putchar(QemuConsole *s, int ch) } } +static void displaychangelistener_gfx_switch(DisplayChangeListener *dcl, + struct DisplaySurface *new_surface) +{ + if (dcl->ops->dpy_gfx_switch) { + dcl->ops->dpy_gfx_switch(dcl, new_surface); + } +} + + static void displaychangelistener_display_console(DisplayChangeListener *dcl, QemuConsole *con, Error **errp) @@ -1067,13 +1076,10 @@ static void displaychangelistener_display_console(DisplayChangeListener *dcl, static DisplaySurface *dummy; if (!con || !console_compatible_with(con, dcl, errp)) { - if (!dcl->ops->dpy_gfx_switch) { - return; - } if (!dummy) { dummy = qemu_create_placeholder_surface(640, 480, nodev); } - dcl->ops->dpy_gfx_switch(dcl, dummy); + displaychangelistener_gfx_switch(dcl, dummy); return; } @@ -1091,9 +1097,8 @@ static void displaychangelistener_display_console(DisplayChangeListener *dcl, con->scanout.texture.y, con->scanout.texture.width, con->scanout.texture.height); - } else if (con->scanout.kind == SCANOUT_SURFACE && - dcl->ops->dpy_gfx_switch) { - dcl->ops->dpy_gfx_switch(dcl, con->surface); + } else if (con->scanout.kind == SCANOUT_SURFACE) { + displaychangelistener_gfx_switch(dcl, con->surface); } dcl->ops->dpy_gfx_update(dcl, 0, 0, @@ -1677,9 +1682,7 @@ void dpy_gfx_replace_surface(QemuConsole *con, if (con != (dcl->con ? dcl->con : active_console)) { continue; } - if (dcl->ops->dpy_gfx_switch) { - dcl->ops->dpy_gfx_switch(dcl, surface); - } + displaychangelistener_gfx_switch(dcl, surface); } qemu_free_displaysurface(old_surface); } |