[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