diff options
-rw-r--r-- | shell/e-shell.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c index 40a771c06a..3ca64df49d 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -371,7 +371,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 |