From 584d2c91182c5bcb4606adbbc7f3e0164f667e8d Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 1 Dec 2008 11:30:05 +0100 Subject: [PATCH] widl: Do not make the stub vtbl const for delegating interfaces since it needs to be patched up at run-time. --- tools/widl/proxy.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 74bec7b357f..51a35a63d6d 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -607,7 +607,8 @@ static void write_proxy(type_t *iface, unsigned int *proc_offset) indent--; fprintf(proxy, "};\n"); print_proxy( "\n"); - print_proxy( "static const CInterfaceStubVtbl _%sStubVtbl =\n", iface->name); + print_proxy( "static %sCInterfaceStubVtbl _%sStubVtbl =\n", + need_delegation(iface) ? "" : "const ", iface->name); print_proxy( "{\n"); indent++; print_proxy( "{\n"); @@ -784,7 +785,7 @@ void write_proxies(const statement_list_t *stmts) fprintf(proxy, "static const CInterfaceStubVtbl* const _%s_StubVtblList[] =\n", file_id); fprintf(proxy, "{\n"); - write_proxy_iface_name_format(stmts, " (const CInterfaceStubVtbl*)&_%sStubVtbl,\n"); + write_proxy_iface_name_format(stmts, " &_%sStubVtbl,\n"); fprintf(proxy, " 0\n"); fprintf(proxy, "};\n"); fprintf(proxy, "\n");