Mike McCormack : widl: Handle TKIND_DISPATCH when generating MSFT typelibs.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 26 07:47:14 CST 2007


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

Author: Mike McCormack <mike at codeweavers.com>
Date:   Fri Jan 26 21:13:52 2007 +0900

widl: Handle TKIND_DISPATCH when generating MSFT typelibs.

---

 tools/widl/write_msft.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c
index b2dfa15..0017bd9 100644
--- a/tools/widl/write_msft.c
+++ b/tools/widl/write_msft.c
@@ -733,6 +733,7 @@ static void add_structure_typeinfo(msft_
 static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface);
 static void add_enum_typeinfo(msft_typelib_t *typelib, type_t *enumeration);
 static void add_coclass_typeinfo(msft_typelib_t *typelib, type_t *cls);
+static void add_dispinterface_typeinfo(msft_typelib_t *typelib, type_t *dispinterface);
 
 
 /****************************************************************************
@@ -974,6 +975,8 @@ static int encode_type(
             case 0:
                 if (type->kind == TKIND_COCLASS)
                     add_coclass_typeinfo(typelib, type);
+                else if (type->kind == TKIND_DISPATCH)
+                    add_dispinterface_typeinfo(typelib, type);
                 else
                     error("encode_type: VT_USERDEFINED - can't yet add typedef's on the fly\n");
                 break;
@@ -1887,7 +1890,7 @@ static void add_dispatch(msft_typelib_t
 }
 
 static void add_dispinterface_typeinfo(msft_typelib_t *typelib, type_t *dispinterface)
-{ 
+{
     int idx = 0;
     const func_t *func;
     var_t *var;




More information about the wine-cvs mailing list