widl: Handle TKIND_DISPATCH when generating MSFT typelibs.
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_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 @@
             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_dispinterface_typeinfo(msft_typelib_t *typelib, type_t *dispinterface)
-{ 
+{
     int idx = 0;
     const func_t *func;
     var_t *var;