[virt-tools-list] [PATCH 1/3]virt-viewer: Quit virt-viewer app when cancel button is clicked
Guannan Ren
gren at redhat.com
Sun Jan 15 06:29:22 UTC 2012
When using virt-viewer for a guest with spice as its graphic, it will
ask for the authentication in the case of password setting. After clicking
cancell, it gives a message dialog:
"Unable to authenticate with remote desktop server at localhost:5900:
Unable to collect credentials.Retry connection again?"
That is not expected, it should exit instead like what vnc did.
These patches fix the issue.
---
src/virt-viewer-auth.c | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/virt-viewer-auth.c b/src/virt-viewer-auth.c
index d6c0300..e10690b 100644
--- a/src/virt-viewer-auth.c
+++ b/src/virt-viewer-auth.c
@@ -46,6 +46,7 @@ virt_viewer_auth_collect_credentials(const char *type,
GtkWidget *promptPassword;
GtkWidget *labelMessage;
int response;
+ int ret;
char *message;
dialog = GTK_WIDGET(gtk_builder_get_object(creds, "auth"));
@@ -79,16 +80,26 @@ virt_viewer_auth_collect_credentials(const char *type,
response = gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_hide(dialog);
- if (response == GTK_RESPONSE_OK) {
+ switch(response) {
+ case GTK_RESPONSE_OK:
if (username)
*username = g_strdup(gtk_entry_get_text(GTK_ENTRY(credUsername)));
if (password)
*password = g_strdup(gtk_entry_get_text(GTK_ENTRY(credPassword)));
+ ret = 1;
+ break;
+
+ case GTK_RESPONSE_CANCEL:
+ ret = -1;
+ break;
+
+ default:
+ ret = 0;
}
gtk_widget_destroy(GTK_WIDGET(dialog));
- return response == GTK_RESPONSE_OK ? 0 : -1;
+ return ret;
}
#ifdef HAVE_GTK_VNC
@@ -126,7 +137,7 @@ virt_viewer_auth_vnc_credentials(GtkWidget *vnc,
wantUsername ? &username : NULL,
wantPassword ? &password : NULL);
- if (ret < 0) {
+ if (ret <= 0) {
vnc_display_close(VNC_DISPLAY(vnc));
goto cleanup;
}
--
1.7.7.5
More information about the virt-tools-list
mailing list