The release callback is called during object_property_del_all(), on a live instance. But class properties are common among all instances. It is not currently called, because we don't release classes, but it would not be correct if we did.
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- qom/object.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qom/object.c b/qom/object.c index aef7e64b5c..1ce961b84f 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2134,7 +2134,7 @@ object_class_property_add_str(ObjectClass *klass, const char *name, rv = object_class_property_add(klass, name, "string", get ? property_get_str : NULL, set ? property_set_str : NULL, - property_release_str, + NULL, prop, &local_err); if (local_err) { error_propagate(errp, local_err); @@ -2227,7 +2227,7 @@ object_class_property_add_bool(ObjectClass *klass, const char *name, rv = object_class_property_add(klass, name, "bool", get ? property_get_bool : NULL, set ? property_set_bool : NULL, - property_release_bool, + NULL, prop, &local_err); if (local_err) { error_propagate(errp, local_err); @@ -2319,7 +2319,7 @@ object_class_property_add_enum(ObjectClass *klass, const char *name, rv = object_class_property_add(klass, name, typename, get ? property_get_enum : NULL, set ? property_set_enum : NULL, - property_release_enum, + NULL, prop, &local_err); if (local_err) { error_propagate(errp, local_err); @@ -2420,7 +2420,7 @@ object_class_property_add_tm(ObjectClass *klass, const char *name, rv = object_class_property_add(klass, name, "struct tm", get ? property_get_tm : NULL, NULL, - property_release_tm, + NULL, prop, &local_err); if (local_err) { error_propagate(errp, local_err); -- 2.25.0.rc1.20.g2443f3f80d.dirty