summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mate-extra/mate-power-manager/files/mate-power-manager-1.8.0-r1-improve-UPower1-support.patch')
-rw-r--r--mate-extra/mate-power-manager/files/mate-power-manager-1.8.0-r1-improve-UPower1-support.patch102
1 files changed, 102 insertions, 0 deletions
diff --git a/mate-extra/mate-power-manager/files/mate-power-manager-1.8.0-r1-improve-UPower1-support.patch b/mate-extra/mate-power-manager/files/mate-power-manager-1.8.0-r1-improve-UPower1-support.patch
new file mode 100644
index 000000000000..d3e9d855ef23
--- /dev/null
+++ b/mate-extra/mate-power-manager/files/mate-power-manager-1.8.0-r1-improve-UPower1-support.patch
@@ -0,0 +1,102 @@
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index e6c6bf2..fe458e3 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -82,6 +82,9 @@ G_DEFINE_TYPE (GpmEngine, gpm_engine, G_TYPE_OBJECT)
+
+ static UpDevice *gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *original_device);
+ static UpDevice *gpm_engine_update_composite_device (GpmEngine *engine, UpDevice *original_device);
++#if UP_CHECK_VERSION (0, 99, 0)
++static void gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine *engine);
++#endif
+
+ typedef enum {
+ GPM_ENGINE_WARNING_NONE = 0,
+@@ -757,6 +760,13 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+ g_object_get (composite, "state", &state, NULL);
+ g_object_set_data (G_OBJECT(composite), "engine-state-old", GUINT_TO_POINTER(state));
+ }
++
++#if UP_CHECK_VERSION (0, 99, 0)
++ if (kind == UP_DEVICE_KIND_BATTERY || kind == UP_DEVICE_KIND_UPS || kind == UP_DEVICE_KIND_LINE_POWER)
++ return;
++ g_signal_connect (device, "notify", G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#endif
++
+ }
+
+ /**
+@@ -851,19 +861,20 @@ gpm_engine_device_removed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+ **/
+ static void
+ #if UP_CHECK_VERSION(0, 99, 0)
+-gpm_engine_device_changed_cb (UpClient *client, GParamSpec *pspec, GpmEngine *engine)
+-{
+- gpm_engine_recalculate_state (engine);
+-}
++gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine *engine)
+ #else
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
++#endif
+ {
++#if !UP_CHECK_VERSION(0, 99, 0)
+ UpDeviceKind kind;
++#endif
+ UpDeviceState state;
+ UpDeviceState state_old;
+ GpmEngineWarning warning_old;
+ GpmEngineWarning warning;
+
++#if !UP_CHECK_VERSION(0, 99, 0)
+ /* get device properties */
+ g_object_get (device,
+ "kind", &kind,
+@@ -874,6 +885,7 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+ egg_debug ("updating because %s changed", up_device_get_object_path (device));
+ device = gpm_engine_update_composite_device (engine, device);
+ }
++#endif
+
+ /* get device properties (may be composite) */
+ g_object_get (device,
+@@ -917,7 +929,6 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+
+ gpm_engine_recalculate_state (engine);
+ }
+-#endif
+
+ /**
+ * gpm_engine_get_devices:
+@@ -1042,10 +1053,7 @@ gpm_engine_init (GpmEngine *engine)
+ G_CALLBACK (gpm_engine_device_added_cb), engine);
+ g_signal_connect (engine->priv->client, "device-removed",
+ G_CALLBACK (gpm_engine_device_removed_cb), engine);
+-#if UP_CHECK_VERSION(0, 99, 0)
+- g_signal_connect (engine->priv->client, "notify",
+- G_CALLBACK (gpm_engine_device_changed_cb), engine);
+-#else
++#if !UP_CHECK_VERSION(0, 99, 0)
+ g_signal_connect (engine->priv->client, "device-changed",
+ G_CALLBACK (gpm_engine_device_changed_cb), engine);
+ #endif
+@@ -1075,6 +1083,11 @@ gpm_engine_init (GpmEngine *engine)
+ #endif
+
+ /* create a fake virtual composite battery */
++#if UP_CHECK_VERSION(0, 99, 0)
++ engine->priv->battery_composite = up_client_get_display_device (engine->priv->client);
++ g_signal_connect (engine->priv->client, "notify",
++ G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#else
+ engine->priv->battery_composite = up_device_new ();
+ g_object_set (engine->priv->battery_composite,
+ "kind", UP_DEVICE_KIND_BATTERY,
+@@ -1083,6 +1096,7 @@ gpm_engine_init (GpmEngine *engine)
+ "power-supply", TRUE,
+ "is-present", TRUE,
+ NULL);
++#endif
+
+ engine->priv->previous_icon = NULL;
+ engine->priv->previous_summary = NULL;
+