summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2026-03-19 05:48:49 -0400
committerVictor Kareh <[email protected]>2026-03-19 05:57:47 -0400
commita41f60f4f882b04dc74cc6b354e8cc13a318641f (patch)
tree01cdd6abeb0043d87fa60a1f7291b78fe4132a1b
parenta5a8b10fa45759eef0aed5f61777c9f4f84acae2 (diff)
downloadmate-session-manager-fix-logout-sound-phase.tar.bz2
mate-session-manager-fix-logout-sound-phase.tar.xz
session: Move logout sound to end-session phasefix-logout-sound-phase
The desktop-logout sound event was being played during the query-end-session phase, which means it would play even if an application inhibited the logout and the user cancelled. Move it to the end-session phase where logout is already confirmed.
-rw-r--r--mate-session/gsm-manager.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
index d67bed1..a6dc2bd 100644
--- a/mate-session/gsm-manager.c
+++ b/mate-session/gsm-manager.c
@@ -1552,13 +1552,6 @@ do_phase_query_end_session (GsmManager *manager)
data.flags = 0;
priv = gsm_manager_get_instance_private (manager);
-#ifdef HAVE_LIBCANBERRA
- ca_context_play (ca_gtk_context_get (), 0,
- CA_PROP_EVENT_ID, "desktop-logout",
- CA_PROP_EVENT_DESCRIPTION, "Session logout",
- NULL);
-#endif
-
if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
data.flags |= GSM_CLIENT_END_SESSION_FLAG_FORCEFUL;
}
@@ -1643,6 +1636,12 @@ start_phase (GsmManager *manager)
do_phase_query_end_session (manager);
break;
case GSM_MANAGER_PHASE_END_SESSION:
+#ifdef HAVE_LIBCANBERRA
+ ca_context_play (ca_gtk_context_get (), 0,
+ CA_PROP_EVENT_ID, "desktop-logout",
+ CA_PROP_EVENT_DESCRIPTION, "Session logout",
+ NULL);
+#endif
do_phase_end_session (manager);
break;
case GSM_MANAGER_PHASE_EXIT: