Dmitry Timoshkov <dmitry(a)baikal.ru> wrote:
Huw Davies <Huw.Davies(a)physics.ox.ac.uk> wrote:
@@ -2307,9 +2306,7 @@ static void add_entry(msft_typelib_t *typelib, const statement_t *stmt) { const type_list_t *type_entry = stmt->u.type_list; for (; type_entry; type_entry = type_entry->next) { - /* if the type is public then add the typedef, otherwise attempt - * to add the aliased type */ - if (is_attr(type_entry->type->attrs, ATTR_PUBLIC)) + if (type_get_type(type_entry->type) == TYPE_BASIC) add_typedef_typeinfo(typelib, type_entry->type); else add_type_typeinfo(typelib, type_alias_get_aliasee(type_entry->type));
Doesn't this essentially make [public] a nop? That seems wrong.
The WinHttpRequestOption enum has a [uuid] attribute, so that probably has something to do with it.
I have tested typedefs with various types and was also wondering about [public] attribute: regardless of its existence midl generates identical typelibs.
Forgot to mention that [uuid] attribute also changes nothing for the enum type generation. -- Dmitry.