Alexandre Julliard : widl: Don' t generate proxies for oleautomation interfaces.
Alexandre Julliard
julliard at winehq.org
Wed Jan 19 11:46:16 CST 2011
Module: wine
Branch: master
Commit: 56425e3767689dad544e0f3a7c8e6f39bc13ff7b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=56425e3767689dad544e0f3a7c8e6f39bc13ff7b
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Jan 19 17:43:01 2011 +0100
widl: Don't generate proxies for oleautomation interfaces.
---
tools/widl/proxy.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c
index 9952179..c945ac0 100644
--- a/tools/widl/proxy.c
+++ b/tools/widl/proxy.c
@@ -576,8 +576,6 @@ static void write_proxy(type_t *iface, unsigned int *proc_offset)
const statement_t *stmt;
int first_func = 1;
- /* FIXME: check for [oleautomation], shouldn't generate proxies/stubs if specified */
-
STATEMENTS_FOR_EACH_FUNC(stmt, type_iface_get_stmts(iface)) {
var_t *func = stmt->u.var;
if (first_func) {
@@ -701,7 +699,11 @@ static int does_any_iface(const statement_list_t *stmts, type_pred_t pred)
int need_proxy(const type_t *iface)
{
- return is_object(iface) && !is_local(iface->attrs);
+ if (!is_object( iface )) return 0;
+ if (is_local( iface->attrs )) return 0;
+ if (is_attr( iface->attrs, ATTR_OLEAUTOMATION )) return 0;
+ if (is_attr( iface->attrs, ATTR_DISPINTERFACE )) return 0;
+ return 1;
}
int need_stub(const type_t *iface)
More information about the wine-cvs
mailing list