[Qemu-devel] [PATCH v2 05/12] qom/object: fix iterating properties over a class

Marc-André Lureau posted 12 patches 7 years, 1 month ago
[Qemu-devel] [PATCH v2 05/12] qom/object: fix iterating properties over a class
Posted by Marc-André Lureau 7 years, 1 month ago
object_class_property_iter_init() starts from the given class, so the
next class should continue with the parent class.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 qom/object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qom/object.c b/qom/object.c
index 75d1d48944..d8666de3f2 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1108,7 +1108,7 @@ void object_class_property_iter_init(ObjectPropertyIterator *iter,
                                      ObjectClass *klass)
 {
     g_hash_table_iter_init(&iter->iter, klass->properties);
-    iter->nextclass = klass;
+    iter->nextclass = object_class_get_parent(klass);
 }
 
 ObjectProperty *object_class_property_find(ObjectClass *klass, const char *name,
-- 
2.19.0.rc1


Re: [Qemu-devel] [PATCH v2 05/12] qom/object: fix iterating properties over a class
Posted by Paolo Bonzini 7 years, 1 month ago
On 07/09/2018 09:59, Marc-André Lureau wrote:
> object_class_property_iter_init() starts from the given class, so the
> next class should continue with the parent class.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  qom/object.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/qom/object.c b/qom/object.c
> index 75d1d48944..d8666de3f2 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1108,7 +1108,7 @@ void object_class_property_iter_init(ObjectPropertyIterator *iter,
>                                       ObjectClass *klass)
>  {
>      g_hash_table_iter_init(&iter->iter, klass->properties);
> -    iter->nextclass = klass;
> +    iter->nextclass = object_class_get_parent(klass);
>  }
>  
>  ObjectProperty *object_class_property_find(ObjectClass *klass, const char *name,
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>