From 7b5da8f737a72ae3465a0cdfc2f7cc10da972c30 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Wed, 30 May 2007 18:46:59 +0000 Subject: [PATCH] add seh around Main_DirectDraw_AddRef this prevent any crash it can cause svn path=/trunk/; revision=26946 --- reactos/dll/directx/ddraw/Ddraw/ddraw_main.c | 23 ++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c index 0739097e4bf..ca1b7fa8e18 100644 --- a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c +++ b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c @@ -49,11 +49,12 @@ Main_DirectDraw_QueryInterface (LPDIRECTDRAW7 iface, ULONG WINAPI Main_DirectDraw_AddRef (LPDIRECTDRAW7 iface) { + ULONG retValue = 0; LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT)iface; DX_WINDBG_trace(); - if (iface!=NULL) + _SEH_TRY { This->dwIntRefCnt++; This->lpLcl->dwLocalRefCnt++; @@ -63,9 +64,27 @@ Main_DirectDraw_AddRef (LPDIRECTDRAW7 iface) This->lpLcl->lpGbl->dwRefCnt++; } } - return This->dwIntRefCnt; + _SEH_HANDLE + { + } + _SEH_END; + + _SEH_TRY + { + retValue = This->dwIntRefCnt; + } + _SEH_HANDLE + { + retValue = 0; + } + _SEH_END; + + return retValue; } + + + ULONG WINAPI Main_DirectDraw_Release (LPDIRECTDRAW7 iface) {