[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    [PATCH] msvcp140: Don't forward __ExceptionPtrCreate to msvcr120.
From:       Piotr Caban <piotr () codeweavers ! com>
Date:       2019-02-28 18:42:50
Message-ID: 0def49f8-70fd-e1c5-93d2-81418c980e9d () codeweavers ! com
[Download RAW message or body]

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46583
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
---
  dlls/msvcp140/msvcp140.spec |  4 ++--
  dlls/msvcp90/exception.c    | 14 ++++++++++++++
  2 files changed, 16 insertions(+), 2 deletions(-)



["0001-msvcp140-Don-t-forward-__ExceptionPtrCreate-to-msvcr12.txt" (text/x-patch)]

diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec
index 6a4eb14c04..20f542e3dc 100644
--- a/dlls/msvcp140/msvcp140.spec
+++ b/dlls/msvcp140/msvcp140.spec
@@ -1697,8 +1697,8 @@
 @ cdecl -arch=win64 ?__ExceptionPtrCopy@@YAXPEAXPEBX@Z(ptr ptr) \
msvcr120.?__ExceptionPtrCopy@@YAXPEAXPEBX@Z  @ cdecl -arch=win32 \
?__ExceptionPtrCopyException@@YAXPAXPBX1@Z(ptr ptr ptr) \
msvcr120.?__ExceptionPtrCopyException@@YAXPAXPBX1@Z  @ cdecl -arch=win64 \
?__ExceptionPtrCopyException@@YAXPEAXPEBX1@Z(ptr ptr ptr) \
                msvcr120.?__ExceptionPtrCopyException@@YAXPEAXPEBX1@Z
-@ cdecl -arch=win32 ?__ExceptionPtrCreate@@YAXPAX@Z(ptr) \
                msvcr120.?__ExceptionPtrCreate@@YAXPAX@Z
-@ cdecl -arch=win64 ?__ExceptionPtrCreate@@YAXPEAX@Z(ptr) \
msvcr120.?__ExceptionPtrCreate@@YAXPEAX@Z +@ cdecl -arch=win32 \
?__ExceptionPtrCreate@@YAXPAX@Z(ptr) __ExceptionPtrCreate +@ cdecl -arch=win64 \
?__ExceptionPtrCreate@@YAXPEAX@Z(ptr) __ExceptionPtrCreate  @ cdecl -arch=win32 \
?__ExceptionPtrCurrentException@@YAXPAX@Z(ptr) \
msvcr120.?__ExceptionPtrCurrentException@@YAXPAX@Z  @ cdecl -arch=win64 \
?__ExceptionPtrCurrentException@@YAXPEAX@Z(ptr) \
msvcr120.?__ExceptionPtrCurrentException@@YAXPEAX@Z  @ cdecl -arch=win32 \
                ?__ExceptionPtrDestroy@@YAXPAX@Z(ptr) \
                msvcr120.?__ExceptionPtrDestroy@@YAXPAX@Z
diff --git a/dlls/msvcp90/exception.c b/dlls/msvcp90/exception.c
index e7ba3d7c08..5a382e3a07 100644
--- a/dlls/msvcp90/exception.c
+++ b/dlls/msvcp90/exception.c
@@ -949,6 +949,20 @@ int __cdecl __uncaught_exceptions(void)
 {
     return *UCRTBASE___processing_throw();
 }
+
+typedef struct
+{
+    EXCEPTION_RECORD *rec;
+    int *ref; /* not binary compatible with native */
+} exception_ptr;
+
+void __cdecl __ExceptionPtrCreate(exception_ptr *ep)
+{
+    TRACE("(%p)\n", ep);
+
+    ep->rec = NULL;
+    ep->ref = NULL;
+}
 #endif
 
 #if _MSVCP_VER >= 70 || defined(_MSVCIRT)


[Attachment #4 (text/plain)]




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic