diff options
author | Michael Catanzaro <mcatanzaro@igalia.com> | 2016-01-12 12:34:04 -0600 |
---|---|---|
committer | Michael Catanzaro <mcatanzaro@igalia.com> | 2016-01-12 14:28:38 -0600 |
commit | f42ea43dbd97f162d0b6ab59b70812a8b240c7d6 (patch) | |
tree | fe2142a68277959cdc95d85c802c99a6e565ee1d /daemon | |
parent | f69ac4039dd5b6025560ddca1bbb0b1c81acef8a (diff) | |
download | gdm-f42ea43dbd97f162d0b6ab59b70812a8b240c7d6.tar.gz |
session: Crash better when no sessions are installed
If no session desktop file can be found in the search path, we are
doomed. Crash nicely with g_error rather than continuing on to call
g_sequence_get with an invalid GSequenceIter.
https://bugzilla.gnome.org/show_bug.cgi?id=760548
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gdm-session.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c index dc3b4973..4765a6b5 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c @@ -564,6 +564,10 @@ get_fallback_session_name (GdmSession *self) name = NULL; session = g_sequence_get_begin_iter (sessions); + + if (g_sequence_iter_is_end (session)) + g_error ("GdmSession: no session desktop files installed, aborting..."); + do { if (g_sequence_get (session)) { char *base_name; |