Dmitry Timoshkov : widl: Avoid generating duplicate typelib entries for structure tag names.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Nov 5 10:14:54 CST 2015
Module: wine
Branch: master
Commit: ded915aa7c450429a74f136efa35a1b58d83a63f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ded915aa7c450429a74f136efa35a1b58d83a63f
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Tue Nov 3 13:32:01 2015 +0800
widl: Avoid generating duplicate typelib entries for structure tag names.
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tools/widl/typetree.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/widl/typetree.c b/tools/widl/typetree.c
index 5925d40..e316614 100644
--- a/tools/widl/typetree.c
+++ b/tools/widl/typetree.c
@@ -300,7 +300,12 @@ type_t *type_new_enum(const char *name, struct namespace *namespace, int defined
type_t *type_new_struct(char *name, struct namespace *namespace, int defined, var_list_t *fields)
{
type_t *tag_type = name ? find_type(name, namespace, tsSTRUCT) : NULL;
- type_t *t = make_type(TYPE_STRUCT);
+ type_t *t;
+
+ /* avoid creating duplicate typelib type entries */
+ if (tag_type && do_typelib) return tag_type;
+
+ t = make_type(TYPE_STRUCT);
t->name = name;
t->namespace = namespace;
More information about the wine-cvs
mailing list