[gdm] Clear out session_conversation when the worker exits
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] Clear out session_conversation when the worker exits
- Date: Tue, 18 Sep 2012 21:19:35 +0000 (UTC)
commit 69aa70a5a0a26afac30a5852b89cddade598a47f
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Tue Sep 18 22:29:07 2012 +0200
Clear out session_conversation when the worker exits
The conversation is freed at the end of that callback, so the pointer
would be dangling. Among other things, this fixes a duplicate wtmp record,
as session dispose would find that logout was already recorded.
https://bugzilla.gnome.org/show_bug.cgi?id=684326
daemon/gdm-session.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 9a134ff..ce16972 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -1702,6 +1702,7 @@ worker_exited (GdmSessionWorkerJob *job,
g_object_ref (conversation->job);
if (self->priv->session_conversation == conversation) {
g_signal_emit (self, signals[SESSION_EXITED], 0, code);
+ self->priv->session_conversation = NULL;
}
g_hash_table_steal (self->priv->conversations, conversation->service_name);
@@ -1734,6 +1735,7 @@ worker_died (GdmSessionWorkerJob *job,
g_object_ref (conversation->job);
if (self->priv->session_conversation == conversation) {
g_signal_emit (self, signals[SESSION_DIED], 0, signum);
+ self->priv->session_conversation = NULL;
}
g_hash_table_steal (self->priv->conversations, conversation->service_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]