diff options
| author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2024-03-19 12:08:40 +0900 |
|---|---|---|
| committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2024-03-20 10:27:54 +0400 |
| commit | d4c199566f6fa5de4afa344712462cfd322de9d0 (patch) | |
| tree | ad3c22a1aedc08ddfbd901f2b01e90d215b39855 /ui/console.c | |
| parent | 271a197425528f4448b3d351be25995abe901374 (diff) | |
| download | focaccia-qemu-d4c199566f6fa5de4afa344712462cfd322de9d0.tar.gz focaccia-qemu-d4c199566f6fa5de4afa344712462cfd322de9d0.zip | |
ui/vnc: Do not use console_select()
console_select() is shared by other displays and a console_select() call from one of them triggers console switching also in ui/curses, circumventing key state reinitialization that needs to be performed in preparation and resulting in stuck keys. Use its internal state to track the current active console to prevent such a surprise console switch. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20240319-console-v2-2-3fd6feef321a@daynix.com>
Diffstat (limited to 'ui/console.c')
| -rw-r--r-- | ui/console.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ui/console.c b/ui/console.c index 832055675c..fbc1b9b8b5 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1325,6 +1325,18 @@ void graphic_console_close(QemuConsole *con) dpy_gfx_replace_surface(con, surface); } +QemuConsole *qemu_console_lookup_default(void) +{ + QemuConsole *con; + + QTAILQ_FOREACH(con, &consoles, next) { + if (QEMU_IS_GRAPHIC_CONSOLE(con)) { + return con; + } + } + return QTAILQ_FIRST(&consoles); +} + QemuConsole *qemu_console_lookup_by_index(unsigned int index) { QemuConsole *con; |