/* At process attach */ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) { TRACE("WineD3D DLLMain Reason=%u\n", fdwReason); switch (fdwReason) { case DLL_PROCESS_ATTACH: return wined3d_dll_init(hInstDLL); case DLL_PROCESS_DETACH: return wined3d_dll_destroy(hInstDLL); case DLL_THREAD_DETACH: { if (!context_set_current(NULL)) { ERR("Failed to clear current context.\n"); } return TRUE; } default: return TRUE; } }
/* At process attach */ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) { TRACE("WineD3D DLLMain Reason=%u\n", fdwReason); switch (fdwReason) { case DLL_PROCESS_ATTACH: return wined3d_dll_init(hInstDLL); case DLL_PROCESS_DETACH: return wined3d_dll_destroy(hInstDLL); case DLL_THREAD_DETACH: { #if defined(VBOX_WINE_WITH_SINGLE_CONTEXT) || defined(VBOX_WINE_WITH_SINGLE_SWAPCHAIN_CONTEXT) context_clear_on_thread_detach(); #else if (!context_set_current(NULL)) { ERR("Failed to clear current context.\n"); } #endif return TRUE; } default: return TRUE; } }