From 885e2ecdeda5118bcdb0c4696bbdb45bd9c7decc Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sat, 23 Dec 2006 12:25:07 +0000 Subject: [PATCH] fixed a bug in DdDeleteDirectDrawObject Zero the DirectDraw handler if it have sussess been free svn path=/trunk/; revision=25210 --- reactos/dll/win32/gdi32/misc/gdientry.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/gdi32/misc/gdientry.c b/reactos/dll/win32/gdi32/misc/gdientry.c index 9463b3058ee..c72a0fbe141 100644 --- a/reactos/dll/win32/gdi32/misc/gdientry.c +++ b/reactos/dll/win32/gdi32/misc/gdientry.c @@ -742,6 +742,10 @@ DdDeleteDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal) { /* Free it */ Return = NtGdiDdDeleteDirectDrawObject((HANDLE)pDirectDrawGlobal->hDD); + if (Return == TRUE) + { + pDirectDrawGlobal->hDD = 0; + } } else if (ghDirectDraw) { @@ -753,7 +757,10 @@ DdDeleteDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal) { /* Delete the object */ Return = NtGdiDdDeleteDirectDrawObject(ghDirectDraw); - ghDirectDraw = 0; + if (Return == TRUE) + { + ghDirectDraw = 0; + } } }