diff options
author | Giovanni Campagna <gcampagn@redhat.com> | 2013-08-21 15:59:16 +0200 |
---|---|---|
committer | Giovanni Campagna <gcampagn@redhat.com> | 2013-09-11 16:01:24 +0200 |
commit | 72ca2b218dc7b5b9fd70df0c4798c37527b58a6e (patch) | |
tree | 06384fef81ea66bdc1a21d46db91efe95c6780a7 | |
parent | 7360aece746a10786bb0139c691f56ca2a1557d8 (diff) | |
download | mutter-72ca2b218dc7b5b9fd70df0c4798c37527b58a6e.tar.gz |
wayland: die when gnome-session asks us to
At logout, we want to die when gnome-session tells us. Previously,
we were relying on the X server going down (killed by GDM at the
end of the session), but we can't use that in wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=706421
-rw-r--r-- | src/core/session.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/session.c b/src/core/session.c index 0d8be6bf3..6d435fd5c 100644 --- a/src/core/session.c +++ b/src/core/session.c @@ -26,6 +26,7 @@ #include <config.h> #include "util-private.h" +#include <meta/main.h> #include "session.h" #include <X11/Xatom.h> @@ -532,6 +533,12 @@ die_callback (SmcConn smc_conn, SmPointer client_data) * Anything that wants us to go away outside of session management * can use kill(). */ + + /* All of that is true - unless we're a wayland compositor. In which + * case the X server won't go down until we do, so we must die first. + */ + if (meta_is_wayland_compositor ()) + meta_quit (0); } static void |