Zebediah Figura : widl: Correctly set the import library offset for all imported types.

Alexandre Julliard julliard at winehq.org
Thu Apr 18 16:41:11 CDT 2019


Module: wine
Branch: master
Commit: 6c64d02117ecb9b259a55237f145fc9d5e70cdad
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6c64d02117ecb9b259a55237f145fc9d5e70cdad

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Wed Apr 17 00:14:55 2019 -0500

widl: Correctly set the import library offset for all imported types.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47031
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/widl/widltypes.h  | 1 +
 tools/widl/write_msft.c | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/widl/widltypes.h b/tools/widl/widltypes.h
index afca4c0..1177c1a 100644
--- a/tools/widl/widltypes.h
+++ b/tools/widl/widltypes.h
@@ -497,6 +497,7 @@ struct _importinfo_t {
 };
 
 struct _importlib_t {
+    int offset;
     char *name;
 
     int version;
diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c
index cb4f0f3..4dcbc03 100644
--- a/tools/widl/write_msft.c
+++ b/tools/widl/write_msft.c
@@ -702,15 +702,15 @@ static void alloc_importinfo(msft_typelib_t *typelib, importinfo_t *importinfo)
 
         guid_idx = ctl2_alloc_guid(typelib, &guid);
 
-        alloc_importfile(typelib, guid_idx, importlib->version&0xffff,
-                         importlib->version>>16, importlib->name);
+        importlib->offset = alloc_importfile(typelib, guid_idx, importlib->version & 0xffff,
+                importlib->version >> 16, importlib->name);
     }
 
     if(importinfo->offset == -1 || !(importinfo->flags & MSFT_IMPINFO_OFFSET_IS_GUID)) {
         MSFT_ImpInfo impinfo;
 
         impinfo.flags = importinfo->flags;
-        impinfo.oImpFile = 0;
+        impinfo.oImpFile = importlib->offset;
 
         if(importinfo->flags & MSFT_IMPINFO_OFFSET_IS_GUID) {
             MSFT_GuidEntry guid;




More information about the wine-cvs mailing list