mirror of https://github.com/xemu-project/xemu.git
ui/console: Fix console resize with placeholder surface
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 <bobby825@126.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20240207172024.8-1-bobby825@126.com>
This commit is contained in:
parent
9c41658261
commit
95b08fee8f
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue