From 2f5c578dba3c756ac77582ecac5e1383127dd12a Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 3 Dec 2010 19:29:43 +0100 Subject: [PATCH] widl: Output registration information also for IUnknown. --- tools/widl/register.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/widl/register.c b/tools/widl/register.c index 34f48fe4b46..e3d3875abaf 100644 --- a/tools/widl/register.c +++ b/tools/widl/register.c @@ -65,9 +65,14 @@ static int write_interface( const type_t *iface ) { const UUID *uuid = get_attrp( iface->attrs, ATTR_UUID ); - if (!type_iface_get_inherit( iface )) return 0; - if (!need_proxy( iface )) return 0; if (!uuid) return 0; + if (!is_object( iface )) return 0; + if (!type_iface_get_inherit(iface)) /* special case for IUnknown */ + { + put_str( indent, "ForceRemove '%s' = s '%s'\n", format_uuid( uuid ), iface->name ); + return 0; + } + if (is_local( iface->attrs )) return 0; put_str( indent, "ForceRemove '%s' = s '%s'\n", format_uuid( uuid ), iface->name ); put_str( indent, "{\n" ); indent++;