1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS kernel 4 * FILE: dll/directx/ddraw/cleanup.c 5 * PURPOSE: DirectDraw Library 6 * PROGRAMMER: Magnus Olsen (greatlrd) 7 * 8 */ 9 10 #include <windows.h> 11 #include "rosdraw.h" 12 #include "d3dhal.h" 13 14 VOID 15 Cleanup(LPDDRAWI_DIRECTDRAW_INT This) 16 { 17 DX_WINDBG_trace(); 18 19 if (ddgbl.lpDDCBtmp != NULL) 20 { 21 DxHeapMemFree(ddgbl.lpDDCBtmp); 22 } 23 24 if (ddgbl.lpdwFourCC != NULL) 25 { 26 DxHeapMemFree(ddgbl.lpdwFourCC); 27 } 28 29 if (ddgbl.lpModeInfo != NULL) 30 { 31 DxHeapMemFree(ddgbl.lpModeInfo); 32 } 33 34 DdDeleteDirectDrawObject(&ddgbl); 35 36 /* 37 anything else to release? 38 */ 39 40 /* release the linked interface */ 41 //while (IsBadWritePtr( This->lpVtbl, sizeof( LPDDRAWI_DIRECTDRAW_INT )) ) 42 //{ 43 // LPDDRAWI_DIRECTDRAW_INT newThis = This->lpVtbl; 44 // if (This->lpLcl != NULL) 45 // { 46 // DeleteDC(This->lpLcl->hDC); 47 // DxHeapMemFree(This->lpLcl); 48 // } 49 50 // DxHeapMemFree(This); 51 // This = newThis; 52 //} 53 54 /* release unlinked interface */ 55 if (This->lpLcl != NULL) 56 { 57 DxHeapMemFree(This->lpLcl); 58 } 59 //if (This != NULL) 60 //{ 61 // DxHeapMemFree(This); 62 //} 63 64 } 65 66