summaryrefslogtreecommitdiff
path: root/src/libelogind/sd-bus/bus-objects.c
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2017-01-04 06:40:46 +0100
committerSven Eden <yamakuzure@gmx.net>2017-03-14 10:18:46 +0100
commit58764450160b12913bd66fe89901f0a37dec2774 (patch)
treeacee2b32d5636edced5f3816d8ed5cf5cbc592e0 /src/libelogind/sd-bus/bus-objects.c
parentfc7f6d6e5c6a88d78805503f2933fcf2f7a0f754 (diff)
Prep v225: Applying various fixes and changes to src/libelogind/sd-bus that got lost during git am transfer.
Diffstat (limited to 'src/libelogind/sd-bus/bus-objects.c')
-rw-r--r--src/libelogind/sd-bus/bus-objects.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libelogind/sd-bus/bus-objects.c b/src/libelogind/sd-bus/bus-objects.c
index a3d9e552d..fa5c8ab22 100644
--- a/src/libelogind/sd-bus/bus-objects.c
+++ b/src/libelogind/sd-bus/bus-objects.c
@@ -750,6 +750,9 @@ static int vtable_append_all_properties(
if (v->flags & SD_BUS_VTABLE_HIDDEN)
continue;
+ if (v->flags & SD_BUS_VTABLE_PROPERTY_EXPLICIT)
+ continue;
+
r = vtable_append_one_property(bus, reply, path, c, v, userdata, error);
if (r < 0)
return r;
@@ -1176,10 +1179,6 @@ static int process_get_managed_objects(
if (bus->nodes_modified)
return 0;
- r = set_put_strdup(s, m->path);
- if (r < 0)
- return r;
-
r = sd_bus_message_new_method_return(m, &reply);
if (r < 0)
return r;
@@ -1745,8 +1744,9 @@ static int add_object_vtable_internal(
if (!member_name_is_valid(v->x.property.member) ||
!signature_is_single(v->x.property.signature, false) ||
!(v->x.property.get || bus_type_is_basic(v->x.property.signature[0]) || streq(v->x.property.signature, "as")) ||
- v->flags & SD_BUS_VTABLE_METHOD_NO_REPLY ||
+ (v->flags & SD_BUS_VTABLE_METHOD_NO_REPLY) ||
(!!(v->flags & SD_BUS_VTABLE_PROPERTY_CONST) + !!(v->flags & SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE) + !!(v->flags & SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION)) > 1 ||
+ ((v->flags & SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE) && (v->flags & SD_BUS_VTABLE_PROPERTY_EXPLICIT)) ||
(v->flags & SD_BUS_VTABLE_UNPRIVILEGED && v->type == _SD_BUS_VTABLE_PROPERTY)) {
r = -EINVAL;
goto fail;