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

@@ -1457,24 +1457,6 @@
// Windows-only settings
// ----------------------------------------------------------------------------
// Set wxUSE_UNICODE_MSLU to 1 if you're compiling wxWidgets in Unicode mode
// and want to run your programs under Windows 9x and not only NT/2000/XP.
// This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
// http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note
// that you will have to modify the makefiles to include unicows.lib import
// library as the first library (see installation instructions in install.txt
// to learn how to do it when building the library or samples).
//
// If your compiler doesn't have unicows.lib, you can get a version of it at
// http://libunicows.sourceforge.net
//
// Default is 0
//
// Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems)
#ifndef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#endif
// Set this to 1 if you want to use wxWidgets and MFC in the same program. This
// will override some other settings (see below)
//

View File

@@ -359,35 +359,12 @@ enum wxPosixPermissions
// finally the default char-type versions
#if wxUSE_UNICODE
#if wxUSE_UNICODE_MSLU || defined(__WX_STRICT_ANSI_GCC__)
// implement the missing file functions in Win9x ourselves
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
int flags, int mode);
WXDLLIMPEXP_BASE int wxMSLU__waccess(const wxChar *name,
int mode);
WXDLLIMPEXP_BASE int wxMSLU__wchmod(const wxChar *name,
int mode);
WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wxChar *name);
WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wxChar *name);
WXDLLIMPEXP_BASE int
wxMSLU__wstat(const wxChar *name, wxStructStat *buffer);
#define wxCRT_Open wxMSLU__wopen
#define wxCRT_Access wxMSLU__waccess
#define wxCRT_Chmod wxMSLU__wchmod
#define wxCRT_MkDir wxMSLU__wmkdir
#define wxCRT_RmDir wxMSLU__wrmdir
#define wxCRT_Stat wxMSLU__wstat
#else // !wxUSE_UNICODE_MSLU
#define wxCRT_Open wxCRT_OpenW
#define wxCRT_Access wxCRT_AccessW
#define wxCRT_Chmod wxCRT_ChmodW
#define wxCRT_MkDir wxCRT_MkDirW
#define wxCRT_RmDir wxCRT_RmDirW
#define wxCRT_Stat wxCRT_StatW
#endif // wxUSE_UNICODE_MSLU/!wxUSE_UNICODE_MSLU
#define wxCRT_Open wxCRT_OpenW
#define wxCRT_Access wxCRT_AccessW
#define wxCRT_Chmod wxCRT_ChmodW
#define wxCRT_MkDir wxCRT_MkDirW
#define wxCRT_RmDir wxCRT_RmDirW
#define wxCRT_Stat wxCRT_StatW
#else // !wxUSE_UNICODE
#define wxCRT_Open wxCRT_OpenA
#define wxCRT_Access wxCRT_AccessA

View File

@@ -1492,24 +1492,6 @@
// Windows-only settings
// ----------------------------------------------------------------------------
// Set wxUSE_UNICODE_MSLU to 1 if you're compiling wxWidgets in Unicode mode
// and want to run your programs under Windows 9x and not only NT/2000/XP.
// This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
// http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note
// that you will have to modify the makefiles to include unicows.lib import
// library as the first library (see installation instructions in install.txt
// to learn how to do it when building the library or samples).
//
// If your compiler doesn't have unicows.lib, you can get a version of it at
// http://libunicows.sourceforge.net
//
// Default is 0
//
// Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems)
#ifndef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#endif
// Set this to 1 if you want to use wxWidgets and MFC in the same program. This
// will override some other settings (see below)
//

View File

@@ -86,14 +86,6 @@
# endif
#endif /* wxUSE_TASKBARICON_BALLOONS */
#ifndef wxUSE_UNICODE_MSLU
# ifdef wxABORT_ON_CONFIG_ERROR
# error "wxUSE_UNICODE_MSLU must be defined."
# else
# define wxUSE_UNICODE_MSLU 0
# endif
#endif /* wxUSE_UNICODE_MSLU */
#ifndef wxUSE_UXTHEME
# ifdef wxABORT_ON_CONFIG_ERROR
# error "wxUSE_UXTHEME must be defined."
@@ -102,19 +94,6 @@
# endif
#endif /* wxUSE_UXTHEME */
/*
* We don't want to give an error if wxUSE_UNICODE_MSLU is enabled but
* wxUSE_UNICODE is not as this would make it impossible to simply set the
* former in wx/setup.h as then the library wouldn't compile in non-Unicode
* configurations, so instead simply unset it silently when it doesn't make
* sense.
*/
#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
# undef wxUSE_UNICODE_MSLU
# define wxUSE_UNICODE_MSLU 0
#endif
/*
* Unfortunately we can't use compiler TLS support if the library can be used
* inside a dynamically loaded DLL under Windows XP, as this can result in hard
@@ -277,11 +256,6 @@
# undef wxUSE_ACTIVEX
# define wxUSE_ACTIVEX 0
# endif /* wxUSE_ACTIVEX */
# if wxUSE_UNICODE_MSLU
# undef wxUSE_UNICODE_MSLU
# define wxUSE_UNICODE_MSLU 0
# endif /* wxUSE_UNICODE_MSLU */
#endif /* __WINE__ */

View File

@@ -139,10 +139,6 @@ protected:
// set the height of the visible part of the control to m_heightOwn
void MSWUpdateVisibleHeight();
// Call GetComboBoxInfo() and return false if it's not supported by this
// system. Notice that the caller must initialize info.cbSize.
bool MSWGetComboBoxInfo(tagCOMBOBOXINFO* info) const;
// create and initialize the control
bool CreateAndInit(wxWindow *parent, wxWindowID id,
const wxPoint& pos,

View File

@@ -1,22 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/mslu.h
// Purpose: MSLU-related declarations
// Author: Vaclav Slavik
// Modified by: Vadim Zeitlin to move out various functions to other files
// to fix header inter-dependencies
// Created: 2002/02/17
// Copyright: (c) 2002 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_MSLU_H_
#define _WX_MSLU_H_
#include "wx/defs.h"
// Returns true if we are running under Unicode emulation in Win9x environment.
// Workaround hacks take effect only if this condition is met
// (NB: this function is needed even if !wxUSE_UNICODE_MSLU)
WXDLLIMPEXP_BASE bool wxUsingUnicowsDll();
#endif // _WX_MSLU_H_

View File

@@ -1492,24 +1492,6 @@
// Windows-only settings
// ----------------------------------------------------------------------------
// Set wxUSE_UNICODE_MSLU to 1 if you're compiling wxWidgets in Unicode mode
// and want to run your programs under Windows 9x and not only NT/2000/XP.
// This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
// http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note
// that you will have to modify the makefiles to include unicows.lib import
// library as the first library (see installation instructions in install.txt
// to learn how to do it when building the library or samples).
//
// If your compiler doesn't have unicows.lib, you can get a version of it at
// http://libunicows.sourceforge.net
//
// Default is 0
//
// Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems)
#ifndef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#endif
// Set this to 1 if you want to use wxWidgets and MFC in the same program. This
// will override some other settings (see below)
//

View File

@@ -11,24 +11,6 @@
// Windows-only settings
// ----------------------------------------------------------------------------
// Set wxUSE_UNICODE_MSLU to 1 if you're compiling wxWidgets in Unicode mode
// and want to run your programs under Windows 9x and not only NT/2000/XP.
// This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
// http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note
// that you will have to modify the makefiles to include unicows.lib import
// library as the first library (see installation instructions in install.txt
// to learn how to do it when building the library or samples).
//
// If your compiler doesn't have unicows.lib, you can get a version of it at
// http://libunicows.sourceforge.net
//
// Default is 0
//
// Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems)
#ifndef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#endif
// Set this to 1 if you want to use wxWidgets and MFC in the same program. This
// will override some other settings (see below)
//

View File

@@ -201,7 +201,7 @@ protected:
// the limit is due to a previous call to SetMaxLength() and not built in)
bool HasSpaceLimit(unsigned int *len) const;
#if wxUSE_RICHEDIT && (!wxUSE_UNICODE || wxUSE_UNICODE_MSLU)
#if wxUSE_RICHEDIT && !wxUSE_UNICODE
// replace the selection or the entire control contents with the given text
// in the specified encoding
bool StreamIn(const wxString& value, wxFontEncoding encoding, bool selOnly);

View File

@@ -117,9 +117,6 @@
#define wxUSE_TOOLTIPS 0
#endif
#undef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#undef wxUSE_UXTHEME
#define wxUSE_UXTHEME 0

View File

@@ -63,32 +63,4 @@
// #undef the macros defined in winsows.h which conflict with code elsewhere
#include "wx/msw/winundef.h"
// ----------------------------------------------------------------------------
// Fix the functions wrongly implemented in unicows.dll
// ----------------------------------------------------------------------------
#if wxUSE_UNICODE_MSLU
#if wxUSE_GUI
WXDLLIMPEXP_CORE int wxMSLU_DrawStateW(WXHDC dc, WXHBRUSH br, WXFARPROC outputFunc,
WXLPARAM lData, WXWPARAM wData,
int x, int y, int cx, int cy,
unsigned int flags);
#define DrawStateW(dc, br, func, ld, wd, x, y, cx, cy, flags) \
wxMSLU_DrawStateW((WXHDC)dc,(WXHBRUSH)br,(WXFARPROC)func, \
ld, wd, x, y, cx, cy, flags)
WXDLLIMPEXP_CORE int wxMSLU_GetOpenFileNameW(void *ofn);
#define GetOpenFileNameW(ofn) wxMSLU_GetOpenFileNameW((void*)ofn)
WXDLLIMPEXP_CORE int wxMSLU_GetSaveFileNameW(void *ofn);
#define GetSaveFileNameW(ofn) wxMSLU_GetSaveFileNameW((void*)ofn)
#endif // wxUSE_GUI
#endif // wxUSE_UNICODE_MSLU
#endif // _WX_WRAPWIN_H_

View File

@@ -1491,24 +1491,6 @@
// Windows-only settings
// ----------------------------------------------------------------------------
// Set wxUSE_UNICODE_MSLU to 1 if you're compiling wxWidgets in Unicode mode
// and want to run your programs under Windows 9x and not only NT/2000/XP.
// This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
// http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note
// that you will have to modify the makefiles to include unicows.lib import
// library as the first library (see installation instructions in install.txt
// to learn how to do it when building the library or samples).
//
// If your compiler doesn't have unicows.lib, you can get a version of it at
// http://libunicows.sourceforge.net
//
// Default is 0
//
// Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems)
#ifndef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#endif
// Set this to 1 if you want to use wxWidgets and MFC in the same program. This
// will override some other settings (see below)
//

View File

@@ -439,30 +439,17 @@ WXDLLIMPEXP_BASE wchar_t *wxCRT_StrtokW(wchar_t *psz, const wchar_t *delim, wcha
#define wxCRT_Rename rename
#else /* Unicode filenames */
/* special case: these functions are missing under Win9x with Unicows so we
have to implement them ourselves */
#if wxUSE_UNICODE_MSLU || defined(__WX_STRICT_ANSI_GCC__)
WXDLLIMPEXP_BASE FILE* wxMSLU__wfopen(const wchar_t *name, const wchar_t *mode);
WXDLLIMPEXP_BASE FILE* wxMSLU__wfreopen(const wchar_t *name, const wchar_t *mode, FILE *stream);
WXDLLIMPEXP_BASE int wxMSLU__wrename(const wchar_t *oldname, const wchar_t *newname);
WXDLLIMPEXP_BASE int wxMSLU__wremove(const wchar_t *name);
#define wxCRT_Fopen wxMSLU__wfopen
#define wxCRT_Freopen wxMSLU__wfreopen
#define wxCRT_Remove wxMSLU__wremove
#define wxCRT_Rename wxMSLU__wrename
/* WinCE CRT doesn't provide these functions so use our own */
#ifdef __WXWINCE__
WXDLLIMPEXP_BASE int wxCRT_Rename(const wchar_t *src,
const wchar_t *dst);
WXDLLIMPEXP_BASE int wxCRT_Remove(const wchar_t *path);
#else
/* WinCE CRT doesn't provide these functions so use our own */
#ifdef __WXWINCE__
WXDLLIMPEXP_BASE int wxCRT_Rename(const wchar_t *src,
const wchar_t *dst);
WXDLLIMPEXP_BASE int wxCRT_Remove(const wchar_t *path);
#else
#define wxCRT_Rename _wrename
#define wxCRT_Remove _wremove
#endif
#define wxCRT_Fopen _wfopen
#define wxCRT_Freopen _wfreopen
#define wxCRT_Rename _wrename
#define wxCRT_Remove _wremove
#endif
#define wxCRT_Fopen _wfopen
#define wxCRT_Freopen _wfreopen
#endif /* wxMBFILES/!wxMBFILES */