summaryrefslogtreecommitdiff
path: root/extra/upower/git-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/upower/git-fixes.patch')
-rw-r--r--extra/upower/git-fixes.patch112
1 files changed, 112 insertions, 0 deletions
diff --git a/extra/upower/git-fixes.patch b/extra/upower/git-fixes.patch
new file mode 100644
index 000000000..83c407454
--- /dev/null
+++ b/extra/upower/git-fixes.patch
@@ -0,0 +1,112 @@
+From e4858d94343bba2afbebcd1a4925c981a38a9579 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 10 Oct 2013 16:32:41 +0000
+Subject: up-client: Really don't overwrite retval with prop values
+
+db89e5a32bf2c16c0d3d00f6c8f0ef7e5e7efa8f was incomplete and
+"ret" was being used instead of prop_val to set some of those
+properties. It's likely your laptop would have been seen as
+docked for example.
+---
+diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c
+index 757e4a1..2334a68 100644
+--- a/libupower-glib/up-client.c
++++ b/libupower-glib/up-client.c
+@@ -360,7 +360,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+
+ prop_val = g_value_get_boolean (value) && allowed;
+ if (prop_val != client->priv->can_suspend) {
+- client->priv->can_suspend = ret;
++ client->priv->can_suspend = prop_val;
+ g_object_notify (G_OBJECT(client), "can-suspend");
+ }
+
+@@ -376,7 +376,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+
+ prop_val = g_value_get_boolean (value) && allowed;
+ if (prop_val != client->priv->can_hibernate) {
+- client->priv->can_hibernate = ret;
++ client->priv->can_hibernate = prop_val;
+ g_object_notify (G_OBJECT(client), "can-hibernate");
+ }
+ #endif /* ENABLE_DEPRECATED */
+@@ -388,7 +388,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+ }
+ prop_val = g_value_get_boolean (value);
+ if (prop_val != client->priv->lid_is_closed) {
+- client->priv->lid_is_closed = ret;
++ client->priv->lid_is_closed = prop_val;
+ g_object_notify (G_OBJECT(client), "lid-is-closed");
+ }
+
+@@ -399,7 +399,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+ }
+ prop_val = g_value_get_boolean (value);
+ if (prop_val != client->priv->on_battery) {
+- client->priv->on_battery = ret;
++ client->priv->on_battery = prop_val;
+ g_object_notify (G_OBJECT(client), "on-battery");
+ }
+
+@@ -410,7 +410,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+ }
+ prop_val = g_value_get_boolean (value);
+ if (prop_val != client->priv->on_low_battery) {
+- client->priv->on_low_battery = ret;
++ client->priv->on_low_battery = prop_val;
+ g_object_notify (G_OBJECT(client), "on-low-battery");
+ }
+
+@@ -421,7 +421,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+ }
+ prop_val = g_value_get_boolean (value);
+ if (prop_val != client->priv->lid_is_present) {
+- client->priv->lid_is_present = ret;
++ client->priv->lid_is_present = prop_val;
+ g_object_notify (G_OBJECT(client), "lid-is-present");
+ }
+
+@@ -431,8 +431,8 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+ goto out;
+ }
+ prop_val = g_value_get_boolean (value);
+- if (ret != client->priv->is_docked) {
+- client->priv->is_docked = ret;
++ if (prop_val != client->priv->is_docked) {
++ client->priv->is_docked = prop_val;
+ g_object_notify (G_OBJECT(client), "is-docked");
+ }
+
+@@ -443,7 +443,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr
+ }
+ prop_val = g_value_get_boolean (value);
+ if (prop_val != client->priv->lid_force_sleep) {
+- client->priv->lid_force_sleep = ret;
++ client->priv->lid_force_sleep = prop_val;
+ g_object_notify (G_OBJECT(client), "lid-force-sleep");
+ }
+
+--
+cgit v0.9.0.2-2-gbebe
+From d43ab28a29420a61d031908abbf1d13b2cb35796 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 10 Oct 2013 16:59:08 +0000
+Subject: lib: Fix a small memory leak
+
+The bus was never unreferenced in the UpWakeups object.
+---
+diff --git a/libupower-glib/up-wakeups.c b/libupower-glib/up-wakeups.c
+index 3729ad7..ed6bf80 100644
+--- a/libupower-glib/up-wakeups.c
++++ b/libupower-glib/up-wakeups.c
+@@ -377,6 +377,8 @@ up_wakeups_finalize (GObject *object)
+ g_object_unref (wakeups->priv->proxy);
+ if (wakeups->priv->prop_proxy != NULL)
+ g_object_unref (wakeups->priv->prop_proxy);
++ if (wakeups->priv->bus)
++ dbus_g_connection_unref (wakeups->priv->bus);
+
+ G_OBJECT_CLASS (up_wakeups_parent_class)->finalize (object);
+ }
+--
+cgit v0.9.0.2-2-gbebe