From 624c4acbd0c256f5cf8e7067e8dab935bf6c2b5f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 23 Jul 2009 15:46:07 -0500 Subject: Now check for the PK dialog and otherwise run ours. If we get restart, restart --- src/gtk-dialog/gtk-logout-helper.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/gtk-dialog') diff --git a/src/gtk-dialog/gtk-logout-helper.c b/src/gtk-dialog/gtk-logout-helper.c index 505ea16..c7f67a5 100644 --- a/src/gtk-dialog/gtk-logout-helper.c +++ b/src/gtk-dialog/gtk-logout-helper.c @@ -2,6 +2,7 @@ #include #include #include "logout-dialog.h" +#include "ck-pk-helper.h" static LogoutDialogAction type = LOGOUT_DIALOG_LOGOUT; @@ -51,8 +52,24 @@ main (int argc, char * argv[]) return 1; } - GtkWidget * dialog = logout_dialog_new(type); - gtk_dialog_run(GTK_DIALOG(dialog)); + GtkWidget * dialog = NULL; + if (!pk_require_auth(type)) { + dialog = logout_dialog_new(type); + } + + if (dialog != NULL) { + GtkResponseType response = gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_hide(dialog); + + if (response == GTK_RESPONSE_HELP) { + type = LOGOUT_DIALOG_RESTART; + response = GTK_RESPONSE_OK; + } + + if (response != GTK_RESPONSE_OK) { + return 0; + } + } return 0; } -- cgit v1.2.3