Alexandre Julliard : ole32: Revert exception handler change.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 19 14:22:05 CST 2005


Module: wine
Branch: refs/heads/master
Commit: dbc14a5cb58db344b7472ca81d497f579795ed2e
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=dbc14a5cb58db344b7472ca81d497f579795ed2e

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Dec 19 17:44:56 2005 +0100

ole32: Revert exception handler change.
The handler does the opposite of normal page fault handlers.

---

 dlls/ole32/rpc.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index 8c34aa8..c57bab5 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -110,6 +110,13 @@ struct dispatch_params
     HRESULT            hr; /* hresult (out) */
 };
 
+static WINE_EXCEPTION_FILTER(ole_filter)
+{
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
+        return EXCEPTION_CONTINUE_SEARCH;
+    return EXCEPTION_EXECUTE_HANDLER;
+}
+
 static HRESULT WINAPI RpcChannelBuffer_QueryInterface(LPRPCCHANNELBUFFER iface, REFIID riid, LPVOID *ppv)
 {
     *ppv = NULL;
@@ -446,7 +453,7 @@ void RPC_ExecuteCall(struct dispatch_par
     {
         params->hr = IRpcStubBuffer_Invoke(params->stub, params->msg, params->chan);
     }
-    __EXCEPT_PAGE_FAULT
+    __EXCEPT(ole_filter)
     {
         params->hr = GetExceptionCode();
     }




More information about the wine-cvs mailing list