[mate-session-manager] add upstream patch for broken schema - BZ#888184

nmarques nmarques at fedoraproject.org
Fri Dec 21 21:21:42 UTC 2012


commit f889f57c4f173dbe96593083b8c8ca770282b671
Author: Nelson Marques <nmarques at localhost.localdomain>
Date:   Fri Dec 21 15:58:26 2012 -0500

    add upstream patch for broken schema - BZ#888184

 mate-session-manager-1.5.0-fix_schema.patch |   80 +++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)
---
diff --git a/mate-session-manager-1.5.0-fix_schema.patch b/mate-session-manager-1.5.0-fix_schema.patch
new file mode 100644
index 0000000..9c43848
--- /dev/null
+++ b/mate-session-manager-1.5.0-fix_schema.patch
@@ -0,0 +1,80 @@
+From 09388d8e945ef0674bca82c5ba375d901b14e693 Mon Sep 17 00:00:00 2001
+From: Stefano Karapetsas <stefano at karapetsas.com>
+Date: Mon, 26 Nov 2012 21:23:39 +0100
+Subject: [PATCH] fix screensaver gschema usage close
+ https://github.com/mate-desktop/mate-desktop/issues/38
+
+---
+ mate-session/gsm-manager.c | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
+index 8b2e024..ad4ed89 100644
+--- a/mate-session/gsm-manager.c
++++ b/mate-session/gsm-manager.c
+@@ -137,6 +137,7 @@ struct GsmManagerPrivate
+ 
+         GSettings              *settings_session;
+         GSettings              *settings_lockdown;
++        GSettings              *settings_screensaver;
+ 
+         DBusGProxy             *bus_proxy;
+         DBusGConnection        *connection;
+@@ -967,8 +968,11 @@ manager_switch_user (GsmManager *manager)
+ static gboolean
+ sleep_lock_is_enabled (GsmManager *manager)
+ {
+-        return g_settings_get_boolean (manager->priv->settings_lockdown,
+-                                       KEY_SLEEP_LOCK);
++        if (manager->priv->settings_screensaver != NULL)
++                return g_settings_get_boolean (manager->priv->settings_screensaver,
++                                               KEY_SLEEP_LOCK);
++        else
++                return FALSE;
+ }
+ 
+ static void
+@@ -2178,6 +2182,11 @@ gsm_manager_dispose (GObject *object)
+                 manager->priv->settings_lockdown = NULL;
+         }
+ 
++        if (manager->priv->settings_screensaver) {
++                g_object_unref (manager->priv->settings_screensaver);
++                manager->priv->settings_screensaver = NULL;
++        }
++
+         if (manager->priv->up_client != NULL) {
+                 g_object_unref (manager->priv->up_client);
+                 manager->priv->up_client = NULL;
+@@ -2336,12 +2345,29 @@ on_presence_status_changed (GsmPresence  *presence,
+ static void
+ gsm_manager_init (GsmManager *manager)
+ {
++        const char * const *schemas;
++        gboolean schema_exists;
++        guint i;
+ 
+         manager->priv = GSM_MANAGER_GET_PRIVATE (manager);
+ 
+         manager->priv->settings_session = g_settings_new (SESSION_SCHEMA);
+         manager->priv->settings_lockdown = g_settings_new (LOCKDOWN_SCHEMA);
+ 
++        /* check if mate-screensaver is installed */
++        schemas = g_settings_list_schemas ();
++        schema_exists = FALSE;
++        for (i = 0; schemas[i] != NULL; i++) {
++                if (g_str_equal (schemas[i], SCREENSAVER_SCHEMA)) {
++                        schema_exists = TRUE;
++                        break;
++                }
++        }
++        if (schema_exists == TRUE)
++                manager->priv->settings_screensaver = g_settings_new (SCREENSAVER_SCHEMA);
++        else
++                manager->priv->settings_screensaver = NULL;
++
+         manager->priv->inhibitors = gsm_store_new ();
+         g_signal_connect (manager->priv->inhibitors,
+                           "added",
+-- 
+1.8.0


More information about the scm-commits mailing list