It looks the problem is caused really by transition to upower-1.0. Below
is a patch which fixes the problem for 1.2.0-5. It causes that power
manager connects to another signal, which is not dropped from upower API.
Rafal
--- xfce4-power-manager-1.2.0.orig/src/xfpm-battery.c2014-07-26
18:45:42.0 +
+++ xfce4-power-manager-1.2.0/src/xfpm-battery.c2014-07-26
18:52:36.764187964 +
@@ -773,7 +773,7 @@
if (battery-priv-notify_idle != 0)
g_source_remove (battery-priv-notify_idle);
-dbus_g_proxy_disconnect_signal (battery-priv-proxy, Changed,
+dbus_g_proxy_disconnect_signal (battery-priv-proxy_prop,
PropertiesChanged,
G_CALLBACK (xfpm_battery_changed_cb), battery);
if ( g_signal_handler_is_connected (battery-priv-conf,
battery-priv-sig ) )
@@ -866,6 +866,17 @@
return GTK_STATUS_ICON (battery);
}
+static void battPropertiesChangedMarshal(GClosure *closure,
+GValue *return_value, guint n_param_values,
+const GValue *param_values, gpointer invocation_hint,
+gpointer marshal_data)
+{
+GCClosure *cclosure = (GCClosure*)closure;
+
+/* XXX: I hope only the xfpm_battery_changed_cb is invoked... */
+((void(*)())cclosure-callback)(NULL, closure-data);
+}
+
void xfpm_battery_monitor_device (XfpmBattery *battery,
DBusGProxy *proxy,
DBusGProxy *proxy_prop,
@@ -878,8 +889,15 @@
battery-priv-battery_name = xfpm_battery_get_name (device_type);
-dbus_g_proxy_add_signal (proxy, Changed, G_TYPE_INVALID);
-dbus_g_proxy_connect_signal (proxy, Changed,
+dbus_g_object_register_marshaller(battPropertiesChangedMarshal,
+G_TYPE_NONE, G_TYPE_STRING,
+dbus_g_type_get_map(GHashTable, G_TYPE_STRING, G_TYPE_VALUE),
+G_TYPE_STRV, G_TYPE_INVALID);
+dbus_g_proxy_add_signal (proxy_prop, PropertiesChanged,
+G_TYPE_STRING,
+dbus_g_type_get_map(GHashTable, G_TYPE_STRING, G_TYPE_VALUE),
+G_TYPE_STRV, G_TYPE_INVALID);
+dbus_g_proxy_connect_signal (proxy_prop, PropertiesChanged,
G_CALLBACK (xfpm_battery_changed_cb), battery, NULL);
g_object_set (G_OBJECT (battery),
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org