Dmitry Timoshkov : widl: Attributes of the alias are supposed to replace attributes of a tag in the typelib.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Nov 5 10:14:54 CST 2015


Module: wine
Branch: master
Commit: 58b0788a2d0b7303adbafca5e3038455e49f1b8a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=58b0788a2d0b7303adbafca5e3038455e49f1b8a

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Nov  3 13:32:13 2015 +0800

widl: Attributes of the alias are supposed to replace attributes of a tag in the typelib.

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>

---

 dlls/oleaut32/tests/typelib.c | 2 +-
 tools/widl/parser.y           | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c
index 1d13b89..e8b2cb4 100644
--- a/dlls/oleaut32/tests/typelib.c
+++ b/dlls/oleaut32/tests/typelib.c
@@ -4297,7 +4297,7 @@ static const type_info info[] = {
 },
 {
   "cc",
-  "{00000000-0000-0000-0000-000000000000}",
+  "{016fe2ec-b2c8-45f8-b23b-39e53a75396c}",
   /*kind*/ TKIND_ENUM, /*flags*/ 0, /*align*/ 4, /*size*/ 4,
   /*#vtbl*/ 0, /*#func*/ 0
 },
diff --git a/tools/widl/parser.y b/tools/widl/parser.y
index e7f2ead..7de7567 100644
--- a/tools/widl/parser.y
+++ b/tools/widl/parser.y
@@ -1893,6 +1893,10 @@ static type_t *reg_typedefs(decl_spec_t *decl_spec, declarator_list_t *decls, at
   {
     if (!type->name)
       type->name = gen_name();
+
+    /* replace existing attributes when generating a typelib */
+    if (do_typelib)
+        type->attrs = attrs;
   }
 
   LIST_FOR_EACH_ENTRY( decl, decls, const declarator_t, entry )




More information about the wine-cvs mailing list