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
1 changed files with 2 additions and 18 deletions

View File

@ -43,9 +43,7 @@
#include "winerror.h"
#include "winreg.h"
#include "wtypes.h"
#include "excpt.h"
#include "wine/unicode.h"
#include "wine/exception.h"
#include "compobj_private.h"
@ -114,13 +112,6 @@ 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;
@ -510,15 +501,8 @@ HRESULT RPC_CreateServerChannel(IRpcChannelBuffer **chan)
void RPC_ExecuteCall(struct dispatch_params *params)
{
__TRY
{
params->hr = IRpcStubBuffer_Invoke(params->stub, params->msg, params->chan);
}
__EXCEPT(ole_filter)
{
params->hr = GetExceptionCode();
}
__ENDTRY
params->hr = IRpcStubBuffer_Invoke(params->stub, params->msg, params->chan);
IRpcStubBuffer_Release(params->stub);
IRpcChannelBuffer_Release(params->chan);
if (params->handle) SetEvent(params->handle);