Alexandre Julliard : widl: Output registration information also for IUnknown.

Alexandre Julliard julliard at winehq.org
Sun Dec 5 12:10:04 CST 2010


Module: wine
Branch: master
Commit: 2f5c578dba3c756ac77582ecac5e1383127dd12a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2f5c578dba3c756ac77582ecac5e1383127dd12a

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Dec  3 19:29:43 2010 +0100

widl: Output registration information also for IUnknown.

---

 tools/widl/register.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/widl/register.c b/tools/widl/register.c
index 34f48fe..e3d3875 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++;




More information about the wine-cvs mailing list