From: Vibhav Pant vibhavp@gmail.com
--- tools/widl/typegen.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 76d7a2bde21..41cd3884431 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -3748,7 +3748,12 @@ static unsigned int write_ip_tfs(FILE *file, const attr_list_t *attrs, type_t *t else { const type_t *base = is_ptr(type) ? type_pointer_get_ref_type(type) : type; - const struct uuid *uuid = get_attrp(base->attrs, ATTR_UUID); + const struct uuid *uuid; + + if (base->type_type == TYPE_RUNTIMECLASS) + base = type_runtimeclass_get_default_iface(base, 1); + + uuid = get_attrp(base->attrs, ATTR_UUID);
if (! uuid) error("%s: interface %s missing UUID\n", __FUNCTION__, base->name);