From 98a0eff633c0050178d9125a8d27849bb78db3bc Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 25 Feb 2010 00:04:03 +0000 Subject: [PATCH] Initialize wxhInstance in console MSW applications too. Console applications still may need to create windows and for this a valid HINSTANCE is needed. So set it ourselves during wx initialization. Closes #11727. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/init.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/common/init.cpp b/src/common/init.cpp index aca0a83306..e220d9860f 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -38,6 +38,7 @@ #include "wx/except.h" #if defined(__WXMSW__) + #include "wx/msw/private.h" #include "wx/msw/msvcrt.h" #ifdef wxCrtSetDbgFlag @@ -238,6 +239,16 @@ static bool DoCommonPreInit() wxLog::GetActiveTarget(); #endif // wxUSE_LOG +#ifdef __WXMSW__ + // GUI applications obtain HINSTANCE in their WinMain() but we also need to + // initialize the global wxhInstance variable for the console programs as + // they may need it too, so set it here if it wasn't done yet + if ( !wxGetInstance() ) + { + wxSetInstance(::GetModuleHandle(NULL)); + } +#endif // __WXMSW__ + return true; } -- 2.45.2