The latest spec (0.5.10) says "Int num_changes, Array of struct {String property_name, Bool added, Bool removed}" as the signature of the Device::PropertyModified signal. But hald sends the booleans in this order: removed, added. The code is a bit confusing too as the prototype does not agree with the declaration: hald_dbus.c: void device_send_signal_property_modified (HalDevice *device, const char *key, dbus_bool_t added, dbus_bool_t removed) hald_dbus.h: void device_send_signal_property_modified (HalDevice *device, const char *key, dbus_bool_t removed, dbus_bool_t added);
Created attachment 17396 [details] fix for hald_dbus.h and spec Patch including fix for hald_dbus.h and spec. I wouldn't change the code to send the signal as in the spec, because IMO everyone already use it as it currently is.
- <entry>Int num_changes, Array of struct {String property_name, Bool added, Bool removed}</entry> + <entry>Int num_changes, Array of struct {String property_name, Bool removed, Bool added}</entry> - dbus_bool_t removed, - dbus_bool_t added); + dbus_bool_t added, + dbus_bool_t removed); makes the prototype not agree with the spec again :) I think you meant to change the .c
(In reply to comment #2) > makes the prototype not agree with the spec again :) > > I think you meant to change the .c No, why? The spec is about the DBus signal and not about the internal code of hald_dbus.c which is never visible for external user. I change the .h file to what the code already do and change the spec to reflect the current behavior of HAL via DBus
Commited to git
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.