aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r--shell/e-shell.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 22ea2702b4..8e3cc2299f 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -400,7 +400,14 @@ shell_ready_for_quit (EShell *shell,
/* Finalize the activity. */
g_object_unref (activity);
- gtk_application_uninhibit (application, shell->priv->inhibit_cookie);
+ /* XXX Inhibiting session manager actions currently only
+ * works on GNOME, so check that we obtained a valid
+ * inhibit cookie before attempting to uninhibit. */
+ if (shell->priv->inhibit_cookie > 0) {
+ gtk_application_uninhibit (
+ application, shell->priv->inhibit_cookie);
+ shell->priv->inhibit_cookie = 0;
+ }
/* Destroy all watched windows. Note, we iterate over a -copy-
* of the watched windows list because the act of destroying a