summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagn@redhat.com>2013-08-21 15:59:16 +0200
committerGiovanni Campagna <gcampagn@redhat.com>2013-09-11 16:01:24 +0200
commit72ca2b218dc7b5b9fd70df0c4798c37527b58a6e (patch)
tree06384fef81ea66bdc1a21d46db91efe95c6780a7
parent7360aece746a10786bb0139c691f56ca2a1557d8 (diff)
downloadmutter-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.c7
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