Dmitry Timoshkov : widl: Avoid generating duplicate typelib entries for structure tag names.
Module: wine Branch: master Commit: ded915aa7c450429a74f136efa35a1b58d83a63f URL: http://source.winehq.org/git/wine.git/?a=commit;h=ded915aa7c450429a74f136efa... Author: Dmitry Timoshkov <dmitry(a)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(a)baikal.ru> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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;
participants (1)
-
Alexandre Julliard