From 18c11a3355e3df41a25b37fdfaeb2af316b73136 Mon Sep 17 00:00:00 2001 From: doursse Date: Fri, 28 Sep 2007 23:44:14 +0000 Subject: [PATCH] set to NULL the directdraw objects once they are relased SVN revision: 31858 --- .../ecore/src/lib/ecore_win32/ecore_win32_ddraw.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_win32/ecore_win32_ddraw.c b/legacy/ecore/src/lib/ecore_win32/ecore_win32_ddraw.c index 0b31ab513e..2ef0ac9666 100644 --- a/legacy/ecore/src/lib/ecore_win32/ecore_win32_ddraw.c +++ b/legacy/ecore/src/lib/ecore_win32/ecore_win32_ddraw.c @@ -112,15 +112,24 @@ ecore_win32_ddraw_shutdown(Ecore_Win32_Window *window) w = (struct _Ecore_Win32_Window *)window; if (w->ddraw.surface_primary) - IDirectDrawSurface7_Release(w->ddraw.surface_primary); + { + IDirectDrawSurface7_Release(w->ddraw.surface_primary); + w->ddraw.surface_primary = NULL; + } /* no need to release the back surface. the previous call free its memory */ if (w->ddraw.clipper) - IDirectDrawClipper_Release(w->ddraw.clipper); + { + IDirectDrawClipper_Release(w->ddraw.clipper); + w->ddraw.clipper = NULL; + } if (w->ddraw.object) - IDirectDraw7_Release(w->ddraw.object); + { + IDirectDraw7_Release(w->ddraw.object); + w->ddraw.object = NULL; + } #endif /* HAVE_DIRECTDRAW */ }