summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2020-09-18 15:46:50 -0400
committerRay Strode <halfline@gmail.com>2020-11-02 18:22:47 +0000
commita4de923d3a666e1c30b9e268dab750b7ec1c5d5d (patch)
tree57530525011577c340ccf25340e8b19d705119d6 /daemon
parentfa310e53ca7ab885405a832d2213c899314ec18e (diff)
downloadgdm-a4de923d3a666e1c30b9e268dab750b7ec1c5d5d.tar.gz
manager: Clean up user session when finished with display
The display object stores its associated user session with it as object data. It never clears this session from its object data when its done with it however, leading to the session leaking. This commit plugs the leak and an associated file descriptor leak at logout.
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-manager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index f19a6746..9c10adff 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -1545,6 +1545,8 @@ on_display_status_changed (GdmDisplay *display,
}
#endif
+ g_object_set_data (G_OBJECT (display), "gdm-user-session", NULL);
+
if (display == manager->priv->automatic_login_display) {
g_clear_weak_pointer (&manager->priv->automatic_login_display);