Objects that define interface delegate the creation of the interface object
to the interface type. These means that object_new() when called recursively by
the interface instantior is going to bork because its trying to instantiate
an abstract type. Fixed by making interface types concrete.

Signed-off-by: Peter A. G. Crosthwaite <[email protected]>
---
 qom/object.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/qom/object.c b/qom/object.c
index 1eba795..c3a7a47 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -191,7 +191,7 @@ static void type_class_interface_init(TypeImpl *ti, 
InterfaceImpl *iface)
         .parent = iface->parent,
         .class_size = sizeof(InterfaceClass),
         .class_init = iface->interface_initfn,
-        .abstract = true,
+        .abstract = false,
     };
     char *name = g_strdup_printf("<%s::%s>", ti->name, iface->parent);
 
-- 
1.7.3.2


Reply via email to