Hi Paolo, On Tue, Feb 19, 2013 at 7:07 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 19/02/2013 05:02, Peter Crosthwaite ha scritto: >> num_interfaces only tells you how many interfaces the concrete child class >> has >> (as defined in the TypeInfo). This means if you have a child class which >> defines >> no interfaces of its own, but its parent has interfaces you cannot cast to >> those >> parent interfaces. >> >> Fixed changing the guard to check the class->interfaces list instead (which >> is >> a complete flattened list of implemented interfaces). >> >> Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> >> --- >> changed from v1: >> Change guard implementation rather than removed it (Paolo review) >> >> qom/object.c | 3 ++- >> 1 files changed, 2 insertions(+), 1 deletions(-) >> >> diff --git a/qom/object.c b/qom/object.c >> index 4b72a64..3d638ff 100644 >> --- a/qom/object.c >> +++ b/qom/object.c >> @@ -449,7 +449,8 @@ ObjectClass *object_class_dynamic_cast(ObjectClass >> *class, >> TypeImpl *type = class->type; >> ObjectClass *ret = NULL; >> >> - if (type->num_interfaces && type_is_ancestor(target_type, >> type_interface)) { >> + if (type->class->interfaces && >> + type_is_ancestor(target_type, type_interface)) { >> int found = 0; >> GSList *i; >> >> > > Series looks good, thanks! > Can I take that as an RB or acked-by? :-)
Regards, Peter > Paolo >