From e4858d94343bba2afbebcd1a4925c981a38a9579 Mon Sep 17 00:00:00 2001 From: Bastien Nocera 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 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