mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2025-12-29 00:15:15 +00:00
Hide all windows on disconnection
When starting remote-viewer without argument, we are showing a window where the user can enter connection details. We then go on to try and connect to the URI the user specified, and if the connection fails, we disconnect from the remote server, and then we show again the connection window so that the user can correct the URI if he entered it wrong. However, when this happens, the window for the previous connection will still be visible even if connection failed. To avoid this, this commit makes sure we hide all windows when we get a disconnection event. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1024309
This commit is contained in:
parent
06b2c38246
commit
2f890cf2f5
@ -361,6 +361,19 @@ virt_viewer_app_window_set_visible(VirtViewerApp *self,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void hide_one_window(gpointer key G_GNUC_UNUSED,
|
||||
gpointer value,
|
||||
gpointer user_data G_GNUC_UNUSED)
|
||||
{
|
||||
virt_viewer_window_hide(VIRT_VIEWER_WINDOW(value));
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_app_hide_all_windows(VirtViewerApp *app)
|
||||
{
|
||||
g_hash_table_foreach(app->priv->windows, hide_one_window, NULL);
|
||||
}
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
virt_viewer_app_about_close(GtkWidget *dialog,
|
||||
VirtViewerApp *self G_GNUC_UNUSED)
|
||||
@ -1212,6 +1225,7 @@ virt_viewer_app_disconnected(VirtViewerSession *session G_GNUC_UNUSED,
|
||||
VirtViewerAppPrivate *priv = self->priv;
|
||||
gboolean connect_error = !priv->connected && !priv->cancelled;
|
||||
|
||||
virt_viewer_app_hide_all_windows(self);
|
||||
if (priv->quitting)
|
||||
gtk_main_quit();
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user