Hi On Wed, Feb 7, 2024 at 10:38 PM Tianlan Zhou <bobby...@126.com> wrote: > > In `qemu_console_resize()`, the old surface of the console is keeped if the > new > console size is the same as the old one. If the old surface is a placeholder, > and the new size of console is the same as the placeholder surface (640*480), > the surface won't be replace. > In this situation, the surface's `QEMU_PLACEHOLDER_FLAG` flag is still set, so > the console won't be displayed in SDL display mode. > This patch fixes this problem by forcing a new surface if the old one is a > placeholder. > > Signed-off-by: Tianlan Zhou <bobby...@126.com> > --- > ui/console.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/ui/console.c b/ui/console.c > index 7db921e3b7..832055675c 100644 > --- a/ui/console.c > +++ b/ui/console.c > @@ -1577,7 +1577,7 @@ void qemu_console_resize(QemuConsole *s, int width, int > height) > assert(QEMU_IS_GRAPHIC_CONSOLE(s)); > > if ((s->scanout.kind != SCANOUT_SURFACE || > - (surface && surface->flags & QEMU_ALLOCATED_FLAG)) && > + (surface && !is_buffer_shared(surface) && > !is_placeholder(surface))) && > qemu_console_get_width(s, -1) == width && > qemu_console_get_height(s, -1) == height) { > return; > -- > 2.38.1.windows.1 > >
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> -- Marc-André Lureau