From beed393c6772484210de27ecd3c8f6fb85675c36 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 13 Dec 2000 20:38:37 +0000 Subject: [PATCH] patch for not calling wxEntryCleanup() from a DLL applied git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/main.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/msw/main.cpp b/src/msw/main.cpp index 3f8833f408..237eb9eee3 100644 --- a/src/msw/main.cpp +++ b/src/msw/main.cpp @@ -33,6 +33,9 @@ #include "wx/msw/private.h" +// from src/msw/app.cpp +extern void WXDLLEXPORT wxEntryCleanup(); + // ---------------------------------------------------------------------------- // globals // ---------------------------------------------------------------------------- @@ -95,22 +98,24 @@ BOOL WINAPI DllEntryPoint (HANDLE hModule, DWORD fdwReason, LPVOID lpReserved) BOOL WINAPI DllMain (HANDLE hModule, DWORD fdwReason, LPVOID lpReserved) #endif { +#ifndef WXMAKINGDLL switch (fdwReason) { case DLL_PROCESS_ATTACH: // Only call wxEntry if the application itself is part of the DLL. - // If only the wxWindows library is in the DLL, then the initialisation - // will be called when the application implicitly calls WinMain. - -#if !defined(WXMAKINGDLL) + // If only the wxWindows library is in the DLL, then the + // initialisation will be called when the application implicitly + // calls WinMain. return wxEntry((WXHINSTANCE) hModule); -#endif - break; case DLL_PROCESS_DETACH: - default: - break; + if ( wxTheApp ) + wxTheApp->OnExit(); + wxEntryCleanup(); + break; } +#endif // !WXMAKINGDLL + return TRUE; } -- 2.45.2