aboutsummaryrefslogtreecommitdiff
path: root/ui/vnc.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2024-03-20 15:06:00 +0000
committerPeter Maydell <peter.maydell@linaro.org>2024-03-20 15:06:00 +0000
commit54294b23e16dfaeb72e0ffa8b9f13ca8129edfce (patch)
tree891e53fef48b19f93cbff80bc7bad191f0e082d9 /ui/vnc.c
parenta1d86c4d707ecb94524844b69a0273aa307af04f (diff)
parentd4069a84a3380247c1b524096c6a807743bf687a (diff)
Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging
UI: fixes - dbus-display shared-library compilation fix - remove console_select() and fix related issues # -----BEGIN PGP SIGNATURE----- # # iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmX66jIcHG1hcmNhbmRy # ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5fJID/9dGIwuvvpKCFjNERtW # yD92qo0Wx0ogcikdu/Ml5RiNS4w9gmdfxQlygLcAEk9k9ZwNeRAL5KLlfk6x4zjR # gPsGI9DE+eZX+iiSMRha3nPflUoQxgnhDDBVG+rGDhHC+S1WB91D2TSqD6Fg3++3 # f2BFenapzZ6wMmZfMhwl/LFk9GMeH7A7wPIp0ivip7KdSFOlJyH//QKy6bmJvYWQ # s++4QnHNGGCnS0TcASvzgNYpIVGw/0GCAqZcZiyXDKBgdNmeDOSmCf6o5Zj9KRWQ # 4twpCxSEyDS039IloaVOs7/0B28DfT1SmudBVSvYkGKjHHETV5HZmhwl2pk+M37Z # RPJRsGQLOQhb1Pmr1YJYqXSc2K7MSq3FQ6SvEmM+zZeQ9+EfRMWtv5UFvRwt+xIH # Oj3gJ4uit5Qf4refN8vF3J2vkIK7Y/1WVaaNKe7uGUgXOMxA+nfQTO204RC4olU+ # 5w4oweU1PAuJd9h+QM7O/aGD0KoRYn3XT7jPXSG07kizzF0DnA/3cnlwDYSb3dtk # 7kFp49Aw4//5nVLL3uI3AUI9sU0yWgU0aRkMGZMNxkYnLrgxUnorRi2qYltzsMAD # avqB3qruqE9Uqf5h3YEsuMNgfKx+m9O27DW1cvEXYreFhuZ4JoIU5fps3eKjCL0P # z6Ytwfo9anbWH8zMzGSfugOtuw== # =rqLh # -----END PGP SIGNATURE----- # gpg: Signature made Wed 20 Mar 2024 13:52:50 GMT # gpg: using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5 # gpg: issuer "marcandre.lureau@redhat.com" # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full] # gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full] # Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5 * tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu: ui: compile dbus-display1.c with -fPIC as necessary ui/curses: Do not use console_select() ui/cocoa: Do not use console_select() ui/vnc: Do not use console_select() ui/vc: Do not inherit the size of active console Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'ui/vnc.c')
-rw-r--r--ui/vnc.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/ui/vnc.c b/ui/vnc.c
index fc12b343e2..b3fd78022b 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1872,12 +1872,16 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym)
/* QEMU console switch */
switch (qcode) {
case Q_KEY_CODE_1 ... Q_KEY_CODE_9: /* '1' to '9' keys */
- if (vs->vd->dcl.con == NULL && down &&
+ if (down &&
qkbd_state_modifier_get(vs->vd->kbd, QKBD_MOD_CTRL) &&
qkbd_state_modifier_get(vs->vd->kbd, QKBD_MOD_ALT)) {
- /* Reset the modifiers sent to the current console */
- qkbd_state_lift_all_keys(vs->vd->kbd);
- console_select(qcode - Q_KEY_CODE_1);
+ QemuConsole *con = qemu_console_lookup_by_index(qcode - Q_KEY_CODE_1);
+ if (con) {
+ unregister_displaychangelistener(&vs->vd->dcl);
+ qkbd_state_switch_console(vs->vd->kbd, con);
+ vs->vd->dcl.con = con;
+ register_displaychangelistener(&vs->vd->dcl);
+ }
return;
}
default:
@@ -4206,7 +4210,7 @@ void vnc_display_open(const char *id, Error **errp)
goto fail;
}
} else {
- con = NULL;
+ con = qemu_console_lookup_default();
}
if (con != vd->dcl.con) {