[gnome-settings-daemon] power: Ensure any display devices are not still suspended at system resume time
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] power: Ensure any display devices are not still suspended at system resume time
- Date: Wed, 13 Jul 2011 10:43:16 +0000 (UTC)
commit 6513239abbbdb5509019372675730593f50b372d
Author: Richard Hughes <richard hughsie com>
Date: Tue Jul 5 09:40:32 2011 +0100
power: Ensure any display devices are not still suspended at system resume time
configure.ac | 2 +-
plugins/power/gsd-power-manager.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d881269..c893830 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,7 +51,7 @@ GLIB_REQUIRED_VERSION=2.26.0
GTK_REQUIRED_VERSION=2.99.3
GCONF_REQUIRED_VERSION=2.6.1
GIO_REQUIRED_VERSION=2.26.0
-GNOME_DESKTOP_REQUIRED_VERSION=3.1.3
+GNOME_DESKTOP_REQUIRED_VERSION=3.1.4
LIBNOTIFY_REQUIRED_VERSION=0.7.3
EXTRA_COMPILE_WARNINGS(yes)
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index f7fa080..1bcaa9f 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -2024,6 +2024,25 @@ out:
}
static void
+upower_notify_resume_cb (UpClient *client,
+ UpSleepKind sleep_kind,
+ GsdPowerManager *manager)
+{
+ gboolean ret;
+ GError *error = NULL;
+
+ /* ensure we turn the panel back on after resume */
+ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
+ GNOME_RR_DPMS_ON,
+ &error);
+ if (!ret) {
+ g_warning ("failed to turn the panel on after resume: %s",
+ error->message);
+ g_error_free (error);
+ }
+}
+
+static void
gsd_power_manager_init (GsdPowerManager *manager)
{
manager->priv = GSD_POWER_MANAGER_GET_PRIVATE (manager);
@@ -2033,6 +2052,8 @@ gsd_power_manager_init (GsdPowerManager *manager)
g_signal_connect (manager->priv->settings, "changed",
G_CALLBACK (engine_settings_key_changed_cb), manager);
manager->priv->up_client = up_client_new ();
+ g_signal_connect (manager->priv->up_client, "notify-resume",
+ G_CALLBACK (upower_notify_resume_cb), manager);
manager->priv->lid_is_closed = up_client_get_lid_is_closed (manager->priv->up_client);
g_signal_connect (manager->priv->up_client, "device-added",
G_CALLBACK (engine_device_added_cb), manager);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]