Remove support for Win9x from wxMSW.

Most importantly, this allows us to remove all MSLU-related stuff.

Some functions which were previously loaded dynamically can now be just used
directly, too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2014-05-16 02:33:40 +00:00
parent e3c2531b4c
commit 0d4ad161d5
1036 changed files with 12134 additions and 16801 deletions

View File

@@ -203,89 +203,6 @@ int wxEntry(int& argc, wxChar **argv)
#if wxUSE_GUI
namespace
{
#if wxUSE_UNICODE && !defined(__WXWINCE__)
#define NEED_UNICODE_CHECK
#endif
#ifdef NEED_UNICODE_CHECK
// check whether Unicode is available
bool wxIsUnicodeAvailable()
{
static const wchar_t *ERROR_STRING = L"wxWidgets Fatal Error";
if ( wxGetOsVersion() != wxOS_WINDOWS_NT )
{
// we need to be built with MSLU support
#if !wxUSE_UNICODE_MSLU
// 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,
L"This program uses Unicode and requires Windows NT/2000/XP.\n"
L"\n"
L"Program aborted.",
ERROR_STRING,
MB_ICONERROR | MB_OK
);
return false;
#else // wxUSE_UNICODE_MSLU
// and the MSLU DLL must also be available
HMODULE hmod = ::LoadLibraryA("unicows.dll");
if ( !hmod )
{
::MessageBox
(
NULL,
L"This program uses Unicode and requires unicows.dll to work "
L"under current operating system.\n"
L"\n"
L"Please install unicows.dll and relaunch the program.",
ERROR_STRING,
MB_ICONERROR | MB_OK
);
return false;
}
// this is not really necessary but be tidy
::FreeLibrary(hmod);
// finally do the last check: has unicows.lib initialized correctly?
hmod = ::LoadLibraryW(L"unicows.dll");
if ( !hmod )
{
::MessageBox
(
NULL,
L"This program uses Unicode but is not using unicows.dll\n"
L"correctly and so cannot work under current operating system.\n"
L"Please contact the program author for an updated version.\n"
L"\n"
L"Program aborted.",
ERROR_STRING,
MB_ICONERROR | MB_OK
);
return false;
}
::FreeLibrary(hmod);
#endif // !wxUSE_UNICODE_MSLU
}
return true;
}
#endif // NEED_UNICODE_CHECK
} //anonymous namespace
// ----------------------------------------------------------------------------
// Windows-specific wxEntry
// ----------------------------------------------------------------------------
@@ -333,15 +250,6 @@ static wxMSWCommandLineArguments wxArgs;
static bool
wxMSWEntryCommon(HINSTANCE hInstance, int nCmdShow)
{
// 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 and has all chances to crash
#ifdef NEED_UNICODE_CHECK
if ( !wxIsUnicodeAvailable() )
return false;
#endif // NEED_UNICODE_CHECK
// remember the parameters Windows gave us
wxSetInstance(hInstance);
#ifdef __WXMSW__