Module: wine Branch: master Commit: 0cba5b06f5a8f87c4de503468b96ff7df3037f49 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0cba5b06f5a8f87c4de503468b...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Jun 13 21:17:52 2011 +0200
widl: Use the local function as proxy entry for callas interpreted functions.
---
tools/widl/proxy.c | 26 ++++++++------------------ 1 files changed, 8 insertions(+), 18 deletions(-)
diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 7bc7753..32a5054 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -554,24 +554,14 @@ static int write_proxy_methods(type_t *iface, int skip) STATEMENTS_FOR_EACH_FUNC(stmt, type_iface_get_stmts(iface)) { const var_t *func = stmt->u.var; if (!is_callas(func->attrs)) { - int missing = 0; - const char * fname = get_name(func); - if (is_local(func->attrs)) { - const statement_t * callas_source = get_callas_source(iface, func); - if(!callas_source) - missing = 1; - else - fname = get_name(callas_source->u.var); - } - if (skip || missing) print_proxy( "0, /* %s::%s */\n", iface->name, get_name(func)); - else if (is_interpreted_func( iface, func )) - { - if (!is_local( func->attrs ) && type_iface_get_inherit(iface)) - print_proxy( "(void *)-1, /* %s::%s */\n", iface->name, get_name(func)); - else - print_proxy( "%s_%s_Proxy,\n", iface->name, fname); - } - else print_proxy( "%s_%s_Proxy,\n", iface->name, get_name(func)); + if (skip || (is_local(func->attrs) && !get_callas_source(iface, func))) + print_proxy( "0, /* %s::%s */\n", iface->name, get_name(func)); + else if (is_interpreted_func( iface, func ) && + !is_local( func->attrs ) && + type_iface_get_inherit(iface)) + print_proxy( "(void *)-1, /* %s::%s */\n", iface->name, get_name(func)); + else + print_proxy( "%s_%s_Proxy,\n", iface->name, get_name(func)); i++; } }