xref: /reactos/dll/opengl/opengl32/dllmain.c (revision 0f92924a)
1 /*
2  * COPYRIGHT:            See COPYING in the top level directory
3  * PROJECT:              ReactOS
4  * FILE:                 dll/opengl/opengl32/dllmain.c
5  * PURPOSE:              OpenGL32 DLL
6  */
7 
8 #include "opengl32.h"
9 
10 BOOL WINAPI
11 DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
12 {
13     switch ( Reason )
14     {
15         case DLL_PROCESS_ATTACH:
16             /* Initialize Context list */
17             InitializeListHead(&ContextListHead);
18             /* no break */
19         case DLL_THREAD_ATTACH:
20             break;
21 
22         case DLL_THREAD_DETACH:
23             /* Set NULL context for this thread */
24             wglMakeCurrent(NULL, NULL);
25         break;
26         case DLL_PROCESS_DETACH:
27             /* Clean up */
28             if (!Reserved)
29             {
30                 /* The process is not shutting down: release everything */
31                 wglMakeCurrent(NULL, NULL);
32                 IntDeleteAllContexts();
33                 IntDeleteAllICDs();
34             }
35             break;
36     }
37 
38     return TRUE;
39 }
40