summaryrefslogtreecommitdiffstats
path: root/x11/gnome-session/files/patch-gnome-session_gsm-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11/gnome-session/files/patch-gnome-session_gsm-manager.c')
-rw-r--r--x11/gnome-session/files/patch-gnome-session_gsm-manager.c52
1 files changed, 31 insertions, 21 deletions
diff --git a/x11/gnome-session/files/patch-gnome-session_gsm-manager.c b/x11/gnome-session/files/patch-gnome-session_gsm-manager.c
index c55565aeb..befa415d9 100644
--- a/x11/gnome-session/files/patch-gnome-session_gsm-manager.c
+++ b/x11/gnome-session/files/patch-gnome-session_gsm-manager.c
@@ -1,5 +1,5 @@
---- gnome-session/gsm-manager.c.orig 2009-07-28 21:51:22.000000000 -0400
-+++ gnome-session/gsm-manager.c 2009-08-26 14:54:08.000000000 -0400
+--- gnome-session/gsm-manager.c.orig 2009-09-18 18:36:04.000000000 +0200
++++ gnome-session/gsm-manager.c 2009-09-22 11:12:05.000000000 +0200
@@ -38,8 +38,6 @@
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
@@ -17,7 +17,7 @@
#include "gsm-session-save.h"
#define GSM_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_MANAGER, GsmManagerPrivate))
-@@ -131,9 +130,6 @@ struct GsmManagerPrivate
+@@ -133,9 +132,6 @@ struct GsmManagerPrivate
DBusGProxy *bus_proxy;
DBusGConnection *connection;
@@ -27,34 +27,39 @@
};
enum {
-@@ -927,47 +923,29 @@ manager_switch_user (GsmManager *manager
+@@ -971,53 +967,29 @@ manager_perhaps_lock (GsmManager *manage
static void
manager_attempt_hibernate (GsmManager *manager)
{
- gboolean can_hibernate;
- GError *error;
- gboolean ret;
-+ GsmPowerManager *power_manager;
++ GsmPowerManager *power_manager;
- g_object_get (manager->priv->dkp_client,
- "can-hibernate", &can_hibernate,
- NULL);
-
- if (can_hibernate) {
+-
+- /* lock the screen before we suspend */
+- manager_perhaps_lock (manager);
+-
- error = NULL;
- ret = dkp_client_hibernate (manager->priv->dkp_client, &error);
-+ power_manager = gsm_get_power_manager ();
-
- if (!ret) {
- g_warning ("Unexpected hibernate failure: %s",
- error->message);
- g_error_free (error);
- }
-+ if (gsm_power_manager_can_hibernate (power_manager)) {
-+ gsm_power_manager_attempt_hibernate (power_manager);
- }
+- }
++ power_manager = gsm_get_power_manager ();
+
-+ g_object_unref (power_manager);
++ if (gsm_power_manager_can_hibernate (power_manager)) {
++ gsm_power_manager_attempt_hibernate (power_manager);
++ }
++
++ g_object_unref (power_manager);
}
static void
@@ -63,31 +68,36 @@
- gboolean can_suspend;
- GError *error;
- gboolean ret;
-+ GsmPowerManager *power_manager;
++ GsmPowerManager *power_manager;
- g_object_get (manager->priv->dkp_client,
- "can-suspend", &can_suspend,
- NULL);
-
- if (can_suspend) {
+-
+- /* lock the screen before we suspend */
+- manager_perhaps_lock (manager);
+-
- error = NULL;
- ret = dkp_client_suspend (manager->priv->dkp_client, &error);
-+ power_manager = gsm_get_power_manager ();
-
- if (!ret) {
- g_warning ("Unexpected suspend failure: %s",
- error->message);
- g_error_free (error);
- }
-+ if (gsm_power_manager_can_suspend (power_manager)) {
-+ gsm_power_manager_attempt_suspend (power_manager);
- }
+- }
++ power_manager = gsm_get_power_manager ();
+
-+ g_object_unref (power_manager);
++ if (gsm_power_manager_can_suspend (power_manager)) {
++ gsm_power_manager_attempt_suspend (power_manager);
++ }
++
++ g_object_unref (power_manager);
}
static void
-@@ -2140,11 +2118,6 @@ gsm_manager_dispose (GObject *object)
+@@ -2190,11 +2162,6 @@ gsm_manager_dispose (GObject *object)
manager->priv->gconf_client = NULL;
}
@@ -99,7 +109,7 @@
G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);
}
-@@ -2373,8 +2346,6 @@ gsm_manager_init (GsmManager *manager)
+@@ -2423,8 +2390,6 @@ gsm_manager_init (GsmManager *manager)
G_CALLBACK (on_presence_status_changed),
manager);
@@ -108,7 +118,7 @@
/* GConf setup */
gconf_client_add_dir (manager->priv->gconf_client,
KEY_DESKTOP_DIR,
-@@ -2894,24 +2865,20 @@ gsm_manager_can_shutdown (GsmManager *ma
+@@ -2944,24 +2909,20 @@ gsm_manager_can_shutdown (GsmManager *ma
GError **error)
{
GsmConsolekit *consolekit;