From 74fdd26c949847bca41c7ca71bc88d30d92d92aa Mon Sep 17 00:00:00 2001 From: Uri Lublin Date: Sun, 17 Jan 2021 19:25:57 +0200 Subject: [PATCH] vnc: no dialog for server-closed-connection error Following commit de5cd71, when the server closes the connection (likely when qemu-kvm exits), a dialog is shown to the user. This behavior change is not good for automatic tests that expect virt-viewer to exit without any dialog. This patch makes sure no dialog is shown for this error, by checking if the VNC connection was already initialized. Signed-off-by: Uri Lublin --- src/virt-viewer-app.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c index 8d795ca..4a579f8 100644 --- a/src/virt-viewer-app.c +++ b/src/virt-viewer-app.c @@ -139,6 +139,7 @@ struct _VirtViewerAppPrivate { gboolean kiosk; gboolean vm_ui; gboolean vm_running; + gboolean initialized; VirtViewerSession *session; gboolean active; @@ -1651,6 +1652,7 @@ virt_viewer_app_deactivate(VirtViewerApp *self, gboolean connect_error) virt_viewer_session_close(VIRT_VIEWER_SESSION(priv->session)); } + priv->initialized = FALSE; priv->connected = FALSE; priv->active = FALSE; priv->started = FALSE; @@ -1689,6 +1691,7 @@ static void virt_viewer_app_initialized(VirtViewerSession *session G_GNUC_UNUSED, VirtViewerApp *self) { + self->priv->initialized = TRUE; virt_viewer_app_update_title(self); } @@ -1727,7 +1730,10 @@ virt_viewer_app_error(VirtViewerSession *session G_GNUC_UNUSED, { VirtViewerAppPrivate *priv = self->priv; - priv->connected = FALSE; /* display error dialog */ + /* Do not open a dialog if the connection was initialized + * This happens when the VNC server closes the connection */ + if (!priv->initialized) + priv->connected = FALSE; /* display error dialog */ virt_viewer_app_disconnected(session, msg, self); } -- 2.29.2