ole32: Exception handling shouldn't be needed around the call to IRpcStubBuffer_Invoke.

It should have its own exception handler to catch any exceptions that are raised.
This commit is contained in:
Robert Shearman 2006-05-10 13:11:49 +01:00 committed by Alexandre Julliard
parent 40986cd729
commit af6d97ad36

View File

@ -43,9 +43,7 @@
#include "winerror.h" #include "winerror.h"
#include "winreg.h" #include "winreg.h"
#include "wtypes.h" #include "wtypes.h"
#include "excpt.h"
#include "wine/unicode.h" #include "wine/unicode.h"
#include "wine/exception.h"
#include "compobj_private.h" #include "compobj_private.h"
@ -114,13 +112,6 @@ struct dispatch_params
HRESULT hr; /* hresult (out) */ 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) static HRESULT WINAPI RpcChannelBuffer_QueryInterface(LPRPCCHANNELBUFFER iface, REFIID riid, LPVOID *ppv)
{ {
*ppv = NULL; *ppv = NULL;
@ -509,16 +500,9 @@ HRESULT RPC_CreateServerChannel(IRpcChannelBuffer **chan)
void RPC_ExecuteCall(struct dispatch_params *params) void RPC_ExecuteCall(struct dispatch_params *params)
{
__TRY
{ {
params->hr = IRpcStubBuffer_Invoke(params->stub, params->msg, params->chan); params->hr = IRpcStubBuffer_Invoke(params->stub, params->msg, params->chan);
}
__EXCEPT(ole_filter)
{
params->hr = GetExceptionCode();
}
__ENDTRY
IRpcStubBuffer_Release(params->stub); IRpcStubBuffer_Release(params->stub);
IRpcChannelBuffer_Release(params->chan); IRpcChannelBuffer_Release(params->chan);
if (params->handle) SetEvent(params->handle); if (params->handle) SetEvent(params->handle);