X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3e3d05fc8601ef8d6eb2a695aba83d48ac1ca1b2..14631f7fa58e52daf02bc66e5b9a8dfea2aaae0f:/src/msw/app.cpp diff --git a/src/msw/app.cpp b/src/msw/app.cpp index d3d3e62a5c..419870ccdf 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -69,7 +69,8 @@ #endif // broken compilers #if defined(__POCKETPC__) || defined(__SMARTPHONE__) -#include + #include + #include #endif #if wxUSE_OLE @@ -86,6 +87,13 @@ #include "wx/msw/wince/missing.h" #endif +// For DLLVER_PLATFORM_WINDOWS +#if (!defined(__MINGW32__) || wxCHECK_W32API_VERSION( 2, 0 )) && \ + !defined(__CYGWIN__) && !defined(__DIGITALMARS__) && !defined(__WXWINCE__) && \ + (!defined(_MSC_VER) || (_MSC_VER > 1100)) + #include +#endif + // --------------------------------------------------------------------------- // global variables // --------------------------------------------------------------------------- @@ -273,27 +281,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv) } #endif - // the first thing to do is to check if we're trying to run an Unicode - // program under Win9x w/o MSLU emulation layer - if so, abort right now - // as it has no chance to work -#if wxUSE_UNICODE && !wxUSE_UNICODE_MSLU - if ( wxGetOsVersion() != wxWINDOWS_NT && wxGetOsVersion() != wxWINDOWS_CE && wxGetOsVersion() != wxWINDOWS_SMARTPHONE && wxGetOsVersion() != wxWINDOWS_POCKETPC ) - { - // note that we can use MessageBoxW() as it's implemented even under - // Win9x - OTOH, we can't use wxGetTranslation() because the file APIs - // used by wxLocale are not - ::MessageBox - ( - NULL, - _T("This program uses Unicode and requires Windows NT/2000/XP/CE.\nProgram aborted."), - _T("wxWidgets Fatal Error"), - MB_ICONERROR | MB_OK - ); - - return false; - } -#endif // wxUSE_UNICODE && !wxUSE_UNICODE_MSLU - #if defined(__WIN95__) && !defined(__WXMICROWIN__) InitCommonControls(); #endif // __WIN95__ @@ -605,8 +592,21 @@ int wxApp::GetComCtl32Version() // if so, then we can check for the version if ( dllComCtl32.IsLoaded() ) { -#ifdef DLLVER_PLATFORM_WINDOWS - // try to use DllGetVersion() if available in _headers_ + // check is struct used by DllGetVersion() is available in the + // headers and define it ourselves if it isn't +#ifndef DLLVER_PLATFORM_WINDOWS + struct DLLVERSIONINFO + { + DWORD cbSize; + DWORD dwMajorVersion; // Major version + DWORD dwMinorVersion; // Minor version + DWORD dwBuildNumber; // Build number + DWORD dwPlatformID; // DLLVER_PLATFORM_* + }; + typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *); +#endif // defined(DLLVERSIONINFO) + + // now check if it's available during run-time wxDYNLIB_FUNCTION( DLLGETVERSIONPROC, DllGetVersion, dllComCtl32 ); if ( pfnDllGetVersion ) { @@ -627,7 +627,6 @@ int wxApp::GetComCtl32Version() dvi.dwMinorVersion; } } -#endif // if DllGetVersion() is unavailable either during compile or // run-time, try to guess the version otherwise