From 6624c38d11d0bdb45579c3cc8c7499af79b20564 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 12 Sep 2018 13:43:00 +0200 Subject: sdl2: show console #0 unconditionally Otherwise sdl2 will show no window in case no graphical display device is present. Reproducer: qemu -nodefaults -display sdl -serial vc Signed-off-by: Gerd Hoffmann Message-id: 20180912114300.6976-1-kraxel@redhat.com --- ui/sdl2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ui') diff --git a/ui/sdl2.c b/ui/sdl2.c index 0a9a18a964..2696b95c79 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -806,7 +806,8 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o) for (i = 0; i < sdl2_num_outputs; i++) { QemuConsole *con = qemu_console_lookup_by_index(i); assert(con != NULL); - if (!qemu_console_is_graphic(con)) { + if (!qemu_console_is_graphic(con) && + qemu_console_get_index(con) != 0) { sdl2_console[i].hidden = true; } sdl2_console[i].idx = i; -- cgit v1.2.3 From b5dc0d7d565048fcf2767060261d8385805aced1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Fri, 7 Sep 2018 10:36:34 +0400 Subject: vnc: call sasl_server_init() only when required MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VNC server is calling sasl_server_init() during startup of QEMU, even if SASL auth has not been enabled. This may create undesirable warnings like "Could not find keytab file: /etc/qemu/krb5.tab" when the user didn't configure SASL on host and started VNC server. Instead, only initialize SASL when needed. Note that HMP/QMP "change vnc" calls vnc_display_open() again, which will initialize SASL if needed. Fix assignment in if condition, while touching this code. Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1609327 Signed-off-by: Marc-André Lureau Reviewed-by: Daniel P. Berrangé Message-id: 20180907063634.359-1-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann --- ui/vnc.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'ui') diff --git a/ui/vnc.c b/ui/vnc.c index 916a16d312..cf221c83cc 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -3821,9 +3821,6 @@ void vnc_display_open(const char *id, Error **errp) bool reverse = false; const char *credid; bool sasl = false; -#ifdef CONFIG_VNC_SASL - int saslErr; -#endif int acl = 0; int lock_key_sync = 1; int key_delay_ms; @@ -3963,10 +3960,14 @@ void vnc_display_open(const char *id, Error **errp) trace_vnc_auth_init(vd, 1, vd->ws_auth, vd->ws_subauth); #ifdef CONFIG_VNC_SASL - if ((saslErr = sasl_server_init(NULL, "qemu")) != SASL_OK) { - error_setg(errp, "Failed to initialize SASL auth: %s", - sasl_errstring(saslErr, NULL, NULL)); - goto fail; + if (sasl) { + int saslErr = sasl_server_init(NULL, "qemu"); + + if (saslErr != SASL_OK) { + error_setg(errp, "Failed to initialize SASL auth: %s", + sasl_errstring(saslErr, NULL, NULL)); + goto fail; + } } #endif vd->lock_key_sync = lock_key_sync; -- cgit v1.2.3 From e8b1386ea1719525a1a92df03377764703fe8c64 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 27 Aug 2018 11:56:20 +0200 Subject: gtk: add zoom-to-fit to gtk options. This allows to set the option on the command line, i.e. "-display gtk,zoom-to-fit={on,off}", overriding the default chosen by qemu. Signed-off-by: Gerd Hoffmann Reviewed-by: Markus Armbruster Message-id: 20180827095620.26774-1-kraxel@redhat.com --- ui/gtk.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ui') diff --git a/ui/gtk.c b/ui/gtk.c index 5cce6ed42d..3ddb5fe162 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -2136,6 +2136,8 @@ static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc, QemuConsole *con, int idx, GSList *group, GtkWidget *view_menu) { + bool zoom_to_fit; + vc->label = qemu_console_get_label(con); vc->s = s; vc->gfx.scale_x = 1.0; @@ -2199,6 +2201,12 @@ static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc, group = gd_vc_menu_init(s, vc, idx, group, view_menu); if (dpy_ui_info_supported(vc->gfx.dcl.con)) { + zoom_to_fit = true; + } + if (s->opts->u.gtk.has_zoom_to_fit) { + zoom_to_fit = s->opts->u.gtk.zoom_to_fit; + } + if (zoom_to_fit) { gtk_menu_item_activate(GTK_MENU_ITEM(s->zoom_fit_item)); s->free_scale = true; } -- cgit v1.2.3