From 2248d3f0e9fc3d2af26e956e8cdde537a8a3946e Mon Sep 17 00:00:00 2001
From: Fabio Fantoni <fantonifabio@tiscali.it>
Date: Thu, 31 Jul 2014 11:13:34 +0200
Subject: [PATCH] power: upower 0.99 fix
Margarita Manterola patch from debian.
---
plugins/power/csd-power-manager.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c
index ecff044..ae8d2ba 100644
--- a/plugins/power/csd-power-manager.c
+++ b/plugins/power/csd-power-manager.c
@@ -236,6 +236,10 @@ static void do_lid_closed_action (CsdPowerManager *manager);
static void lock_screensaver (CsdPowerManager *manager);
static void kill_lid_close_safety_timer (CsdPowerManager *manager);
+#if UP_CHECK_VERSION(0,99,0)
+static void device_properties_changed_cb (UpDevice *device, GParamSpec *pspec, CsdPowerManager *manager);
+#endif
+
G_DEFINE_TYPE (CsdPowerManager, csd_power_manager, G_TYPE_OBJECT)
static gpointer manager_object = NULL;
@@ -990,6 +994,16 @@ engine_device_add (CsdPowerManager *manager, UpDevice *device)
"engine-state-old",
GUINT_TO_POINTER(state));
}
+
+#if UP_CHECK_VERSION(0,99,0)
+ g_ptr_array_add (manager->priv->devices_array, g_object_ref(device));
+
+ g_signal_connect (device, "notify::state",
+ G_CALLBACK (device_properties_changed_cb), manager);
+ g_signal_connect (device, "notify::warning-level",
+ G_CALLBACK (device_properties_changed_cb), manager);
+#endif
+
}
static gboolean
@@ -1714,7 +1728,11 @@ out:
}
static void
+#if UP_CHECK_VERSION(0,99,0)
+device_properties_changed_cb (UpDevice *device, GParamSpec *pspec, CsdPowerManager *manager)
+#else
engine_device_changed_cb (UpClient *client, UpDevice *device, CsdPowerManager *manager)
+#endif
{
UpDeviceKind kind;
UpDeviceState state;
@@ -3986,12 +4004,12 @@ csd_power_manager_start (CsdPowerManager *manager,
G_CALLBACK (engine_device_added_cb), manager);
g_signal_connect (manager->priv->up_client, "device-removed",
G_CALLBACK (engine_device_removed_cb), manager);
- g_signal_connect (manager->priv->up_client, "device-changed",
- G_CALLBACK (engine_device_changed_cb), manager);
#if UP_CHECK_VERSION(0,99,0)
g_signal_connect_after (manager->priv->up_client, "notify::lid-is-closed",
G_CALLBACK (lid_state_changed_cb), manager);
#else
+ g_signal_connect (manager->priv->up_client, "device-changed",
+ G_CALLBACK (engine_device_changed_cb), manager);
g_signal_connect_after (manager->priv->up_client, "changed",
G_CALLBACK (up_client_changed_cb), manager);
#endif
--
1.9.3