kov changed libgksu/trunk/ChangeLog, libgksu/trunk/libgksu/libgksu.c,
libgksu/trunk/libgksu/libgksu.h
Gustavo Noronha
kov at costa.debian.org
Sun Jun 25 23:15:48 UTC 2006
Mensagem de log:
- handle canceling the dialog correctly; added a new
error to the enum
-----
Modified: libgksu/trunk/ChangeLog
===================================================================
--- libgksu/trunk/ChangeLog 2006-06-25 22:49:39 UTC (rev 628)
+++ libgksu/trunk/ChangeLog 2006-06-25 23:15:47 UTC (rev 629)
@@ -1,5 +1,9 @@
2006-06-25 Gustavo Noronha Silva <kov at debian.org>
+ * libgksu/libgksu.c:
+ - handle canceling the dialog correctly; added a new
+ error to the enum
+
* configure.ac, libgksu/libgksu.c:
- accepted patch by Benoît Dejean <benoit at placenet.org>
to get the process name in a platform independent way
Modified: libgksu/trunk/libgksu/libgksu.c
===================================================================
--- libgksu/trunk/libgksu/libgksu.c 2006-06-25 22:49:39 UTC (rev 628)
+++ libgksu/trunk/libgksu/libgksu.c 2006-06-25 23:15:47 UTC (rev 629)
@@ -64,6 +64,7 @@
{ GKSU_ERROR_PIPEREAD, "GKSU_ERROR_PIPEREAD", "piperead" },
{ GKSU_ERROR_WRONGPASS, "GKSU_ERROR_WRONGPASS", "wrongpass" },
{ GKSU_ERROR_CHILDFAILED, "GKSU_ERROR_CHILDFAILED", "childfailed" },
+ { GKSU_ERROR_CANCELED, "GKSU_ERROR_CANCELED", "canceled" },
{ 0, NULL, NULL }
};
etype = g_enum_register_static ("GksuError", values);
@@ -817,7 +818,10 @@
gchar *password = NULL, *tmp = NULL;
int retvalue = 0;
int lock = 0;
+ GQuark gksu_quark;
+ gksu_quark = g_quark_from_string (PACKAGE);
+
if (context->grab)
dialog = g_object_new (GKSUUI_TYPE_DIALOG,
"type", GTK_WINDOW_POPUP,
@@ -884,7 +888,17 @@
gtk_main_iteration ();
if (retvalue != GTK_RESPONSE_OK)
- return NULL;
+ {
+ switch (retvalue)
+ {
+ case GTK_RESPONSE_CANCEL:
+ case GTK_RESPONSE_DELETE_EVENT:
+ g_set_error (error, gksu_quark,
+ GKSU_ERROR_CANCELED,
+ _("Password prompt canceled."));
+ }
+ return NULL;
+ }
tmp = gksuui_dialog_get_password (GKSUUI_DIALOG(dialog));
password = g_locale_from_utf8 (tmp, strlen (tmp), NULL, NULL, NULL);
@@ -1729,7 +1743,11 @@
tmp = ask_pass (context, buf, ask_pass_data, error);
else
used_gnome_keyring = TRUE;
- g_return_val_if_fail (tmp != NULL, -1);
+ if (tmp == NULL || error)
+ {
+ nullify_password (password);
+ return TRUE;
+ }
usleep (100);
@@ -2268,7 +2286,11 @@
password = ask_pass (context, _("Password: "),
ask_pass_data, error);
- g_return_val_if_fail (password != NULL, -1);
+ if (password == NULL || error)
+ {
+ nullify_password (password);
+ return TRUE;
+ }
usleep (100);
Modified: libgksu/trunk/libgksu/libgksu.h
===================================================================
--- libgksu/trunk/libgksu/libgksu.h 2006-06-25 22:49:39 UTC (rev 628)
+++ libgksu/trunk/libgksu/libgksu.h 2006-06-25 23:15:47 UTC (rev 629)
@@ -78,7 +78,8 @@
GKSU_ERROR_PIPEREAD,
GKSU_ERROR_WRONGPASS,
GKSU_ERROR_CHILDFAILED,
- GKSU_ERROR_NOT_ALLOWED
+ GKSU_ERROR_NOT_ALLOWED,
+ GKSU_ERROR_CANCELED
} GksuError;
typedef
More information about the gksu-commits
mailing list