Hi Elvis, On Tue, Mar 27, 2012, Elvis Pfutzenreuter wrote: > On Mar 27, 2012, at 8:36 AM, Johan Hedberg wrote: > > > Hi Elvis, > > > > On Fri, Mar 16, 2012, Elvis Pfützenreuter wrote: > >> Congruent to health_channel_destroy(), the "/" path is returned by MainChannel > >> property of HealthDevice when the first reliable channel is nil. > >> > >> An empty path provokes the following error: > >> > >> process xxxs: arguments to dbus_message_iter_append_basic() were incorrect, > >> assertion "_dbus_check_is_valid_path (*string_p)" failed in file > >> ../../dbus/dbus-message.c line 2539. This is normally a bug in some > >> application using the D-Bus library. > >> --- > >> health/hdp.c | 2 +- > >> 1 files changed, 1 insertions(+), 1 deletions(-) > >> > >> diff --git a/health/hdp.c b/health/hdp.c > >> index 812352f..eba438a 100644 > >> --- a/health/hdp.c > >> +++ b/health/hdp.c > >> @@ -2077,7 +2077,7 @@ static DBusMessage *device_get_properties(DBusConnection *conn, > >> if (device->fr != NULL) > >> path = g_strdup(device->fr->path); > >> else > >> - path = g_strdup(""); > >> + path = g_strdup("/"); > >> dict_append_entry(&dict, "MainChannel", DBUS_TYPE_OBJECT_PATH, &path); > >> g_free(path); > >> dbus_message_iter_close_container(&iter, &dict); > > > > Would it maybe make more sense to simply not include this property in > > the property list if device->fr is NULL? (after all, there's nothing > > interesting to be found at "/" from a HDP perspective) > > > > Could be, but when fr is deleted, a PropertyChanged signal is emitted for > MainChannel. Is there some way to signal that a property has been removed? Instead of sending a PropertyChanged wouldn't the ChannelDeleted signal be good enough? (the client then just needs to compare it with the currently known MainChannel value. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html