aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/krb5-auth-dialog.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a9178a..45ce8f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-22 Colin Walters <walters@verbum.org>
+
+ * MAINTAINERS: New file.
+ * src/krb5-auth-dialog.c: Connect to session bus
+ to be sure we exit when the session dies.
+
2006-10-29 Christopher Aillon <caillon@redhat.com>
* src/krb5-auth-dialog.c: Clean up the #ifdefs to
diff --git a/src/krb5-auth-dialog.c b/src/krb5-auth-dialog.c
index 1f29c32..36387a9 100644
--- a/src/krb5-auth-dialog.c
+++ b/src/krb5-auth-dialog.c
@@ -29,6 +29,7 @@
#include <stdio.h>
#include <sys/wait.h>
#include <string.h>
+#include <dbus/dbus-glib.h>
#ifdef ENABLE_NETWORK_MANAGER
@@ -570,6 +571,8 @@ main (int argc, char *argv[])
{
GtkWidget *dialog;
GnomeClient *client;
+ DBusGConnection *session;
+ GError *error = NULL;
int run_auto = 0, run_always = 0;
struct poptOption options[] = {
{"auto", 'a', 0, &run_auto, 0,
@@ -591,6 +594,9 @@ main (int argc, char *argv[])
client = gnome_master_client ();
gnome_client_set_restart_style (client, GNOME_RESTART_ANYWAY);
+ /* Connect to the session bus so we get exit-on-disconnect semantics. */
+ session = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
+
if (run_always && !run_auto) {
always_run++;
}