From e08a6727b5a071f3740543fd900ae60b696c3d72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Fri, 3 Oct 2014 07:47:04 +0200 Subject: Do not assume that session manager GSettings schema is available This removes hard dependency on mate-session-manager (useful for custom environments). Closes https://github.com/mate-desktop/mate-panel/pull/241 --- mate-panel/panel-action-button.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mate-panel/panel-action-button.c b/mate-panel/panel-action-button.c index fd570cdb..6596f6be 100644 --- a/mate-panel/panel-action-button.c +++ b/mate-panel/panel-action-button.c @@ -37,6 +37,7 @@ #define MATE_DESKTOP_USE_UNSTABLE_API #include #endif +#include #include #include @@ -211,12 +212,14 @@ static void panel_action_logout (GtkWidget *widget) { PanelSessionManager *manager; - gboolean prompt; + gboolean prompt = TRUE; - GSettings *msm_settings; - msm_settings = g_settings_new (MATE_SESSION_SCHEMA); - prompt = g_settings_get_boolean (msm_settings, MATE_SESSION_LOGOUT_PROMPT_KEY); - g_object_unref (msm_settings); + if (mate_gsettings_schema_exists (MATE_SESSION_SCHEMA)) { + GSettings *msm_settings; + msm_settings = g_settings_new (MATE_SESSION_SCHEMA); + prompt = g_settings_get_boolean (msm_settings, MATE_SESSION_LOGOUT_PROMPT_KEY); + g_object_unref (msm_settings); + } manager = panel_session_manager_get (); -- cgit v1.2.1