[PATCH v2 1/2] widl: don't use local methods when writing async interfaces

Steve Lhomme robux4 at ycbcr.xyz
Wed Dec 16 08:38:22 CST 2020


The same entries can have a different call_as between the synchronous and
asynchronous interfaces and shouldn't be mixed up.
---
 tools/widl/header.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/widl/header.c b/tools/widl/header.c
index 223ab5c5ca9..e6de236a25f 100644
--- a/tools/widl/header.c
+++ b/tools/widl/header.c
@@ -1614,7 +1614,8 @@ static void write_com_interface_end(FILE *header, type_t *iface)
   if (!dispinterface && !winrt_mode)
   {
     write_method_proto(header, iface);
-    write_locals(header, iface, FALSE);
+    if (type_iface_get_async_iface(iface) != iface)
+      write_locals(header, iface, FALSE);
     fprintf(header, "\n");
   }
   fprintf(header, "#endif  /* __%s_%sINTERFACE_DEFINED__ */\n", iface->c_name, dispinterface ? "DISP" : "");
-- 
2.29.2




More information about the wine-devel mailing list