xref: /reactos/dll/directx/ddraw/cleanup.c (revision b09b5584)
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