[virt-tools-list] [PATCH virt-viewer 4/4] Exit normally when canceling dialog
Pavel Grunt
pgrunt at redhat.com
Tue Mar 17 09:08:24 UTC 2015
This applies for:
session authentication dialog
libvirt authentication dialog (e.g. virt-viewer --attach guest)
oVirt authentication dialog (e.g. remote-viewer ovirt://host/guest)
'vm choose' dialog when connecting specifying the vm name
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1201604
---
src/remote-viewer.c | 4 ++++
src/virt-viewer-session-spice.c | 2 ++
src/virt-viewer-session-vnc.c | 1 +
src/virt-viewer.c | 7 ++++++-
4 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/remote-viewer.c b/src/remote-viewer.c
index f9f4f92..c6c151b 100644
--- a/src/remote-viewer.c
+++ b/src/remote-viewer.c
@@ -876,6 +876,7 @@ create_ovirt_session(VirtViewerApp *app, const char *uri, GError **err)
api = ovirt_proxy_fetch_api(proxy, &error);
if (authenticate_info.dialog_cancelled) {
+ virt_viewer_app_set_user_cancelled(app, TRUE);
g_clear_error(&error);
goto error;
}
@@ -897,6 +898,9 @@ create_ovirt_session(VirtViewerApp *app, const char *uri, GError **err)
vms,
&error);
if (vm == NULL) {
+ if (error == NULL) {
+ virt_viewer_app_set_user_cancelled(app, TRUE);
+ }
goto error;
}
}
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
index 5eb7234..93906ae 100644
--- a/src/virt-viewer-session-spice.c
+++ b/src/virt-viewer-session-spice.c
@@ -562,6 +562,7 @@ virt_viewer_session_spice_main_channel_event(SpiceChannel *channel G_GNUC_UNUSED
username_required ? &user : NULL,
&password);
if (!ret) {
+ virt_viewer_app_set_user_cancelled(virt_viewer_session_get_app(session), TRUE);
g_signal_emit_by_name(session, "session-cancelled");
} else {
gboolean openfd;
@@ -593,6 +594,7 @@ virt_viewer_session_spice_main_channel_event(SpiceChannel *channel G_GNUC_UNUSED
"proxy", NULL,
&user, &password);
if (!ret) {
+ virt_viewer_app_set_user_cancelled(virt_viewer_session_get_app(session), TRUE);
g_signal_emit_by_name(session, "session-cancelled");
} else {
spice_uri_set_user(proxy, user);
diff --git a/src/virt-viewer-session-vnc.c b/src/virt-viewer-session-vnc.c
index 5a2dd86..68a6719 100644
--- a/src/virt-viewer-session-vnc.c
+++ b/src/virt-viewer-session-vnc.c
@@ -304,6 +304,7 @@ virt_viewer_session_vnc_auth_credential(GtkWidget *src G_GNUC_UNUSED,
wantPassword ? &password : NULL);
if (!ret) {
+ virt_viewer_app_set_user_cancelled(virt_viewer_session_get_app(session), TRUE);
vnc_display_close(self->priv->vnc);
goto cleanup;
}
diff --git a/src/virt-viewer.c b/src/virt-viewer.c
index acad6c6..65ec4e3 100644
--- a/src/virt-viewer.c
+++ b/src/virt-viewer.c
@@ -730,7 +730,10 @@ virt_viewer_initial_connect(VirtViewerApp *app, GError **error)
&priv->domkey,
priv->conn,
&err);
- if (dom == NULL && err != NULL) {
+ if (dom == NULL) {
+ if (err == NULL) {
+ virt_viewer_app_set_user_cancelled(app, TRUE);
+ }
goto cleanup;
}
}
@@ -910,6 +913,8 @@ virt_viewer_connect(VirtViewerApp *app)
virt_viewer_app_simple_message_dialog(app, error_message);
g_free(error_message);
+ } else {
+ virt_viewer_app_set_user_cancelled(app, TRUE);
}
return -1;
--
2.3.2
More information about the virt-tools-list
mailing list