compilation fixes for wxUSE_WCHAR_T==0 (this is the case for DJGPP which is used for wxMGL compilation)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@45893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-05-08 20:05:16 +00:00
parent 5df5d12d5e
commit e9528e32da
7 changed files with 44 additions and 6 deletions

View File

@@ -1197,6 +1197,18 @@
# endif # endif
#endif /* wxUSE_ZIPSTREAM */ #endif /* wxUSE_ZIPSTREAM */
#if wxUSE_TARSTREAM
/* wxTar doesn't currently compile without wchar_t */
# if !wxUSE_WCHAR_T
# ifdef wxABORT_ON_CONFIG_ERROR
# error "wxTar requires wchar_t"
# else
# undef wxUSE_TARSTREAM
# define wxUSE_TARSTREAM 0
# endif
# endif
#endif /* wxUSE_TARSTREAM */
#if wxUSE_TARSTREAM #if wxUSE_TARSTREAM
# if !wxUSE_ARCHIVE_STREAMS # if !wxUSE_ARCHIVE_STREAMS
# ifdef wxABORT_ON_CONFIG_ERROR # ifdef wxABORT_ON_CONFIG_ERROR

View File

@@ -95,7 +95,14 @@ private:
DECLARE_NO_ASSIGN_CLASS(wxConvAuto) DECLARE_NO_ASSIGN_CLASS(wxConvAuto)
}; };
#endif // wxUSE_WCHAR_T #else // !wxUSE_WCHAR_T
// it doesn't matter how we define it in this case as it's unused anyhow, but
// do define it to allow the code using wxConvAuto() as default argument (this
// is done in many places) to compile
typedef wxMBConv wxConvAuto;
#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
#endif // _WX_CONVAUTO_H_ #endif // _WX_CONVAUTO_H_

View File

@@ -29,7 +29,7 @@
#define wxGTK_CONV_FONT(s, font) wxGTK_CONV((s)) #define wxGTK_CONV_FONT(s, font) wxGTK_CONV((s))
#define wxGTK_CONV_SYS(s) wxGTK_CONV((s)) #define wxGTK_CONV_SYS(s) wxGTK_CONV((s))
#define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX((s)) #define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX((s))
#else #elif wxUSE_WCHAR_T
#include "wx/font.h" #include "wx/font.h"
// convert the text in given encoding to UTF-8 used by wxGTK // convert the text in given encoding to UTF-8 used by wxGTK
@@ -49,6 +49,12 @@
#define wxGTK_CONV(s) wxGTK_CONV_FONT((s), m_font) #define wxGTK_CONV(s) wxGTK_CONV_FONT((s), m_font)
#define wxGTK_CONV_SYS(s) wxConvertToGTK((s)) #define wxGTK_CONV_SYS(s) wxConvertToGTK((s))
#define wxGTK_CONV_BACK(s) wxConvLocal.cWC2WX(wxConvUTF8.cMB2WC((s))) #define wxGTK_CONV_BACK(s) wxConvLocal.cWC2WX(wxConvUTF8.cMB2WC((s)))
#else // we're limited to ASCII
#define wxGTK_CONV_ENC(s, enc) (s)
#define wxGTK_CONV_FONT(s, font) (s)
#define wxGTK_CONV(s) (s)
#define wxGTK_CONV_SYS(s) (s)
#define wxGTK_CONV_BACK(s) (wxString(s))
#endif #endif
// Some deprecated GTK+ prototypes we still use often // Some deprecated GTK+ prototypes we still use often

View File

@@ -500,9 +500,13 @@ class WXDLLIMPEXP_BASE wxMBConv
public: public:
const char* cMB2WX(const char *psz) const { return psz; } const char* cMB2WX(const char *psz) const { return psz; }
const char* cWX2MB(const char *psz) const { return psz; } const char* cWX2MB(const char *psz) const { return psz; }
wxMBConv *Clone() const { return NULL; }
}; };
#define wxConvFile wxConvLocal #define wxConvFile wxConvLocal
#define wxConvUI wxConvCurrent
typedef wxMBConv wxCSConv;
extern WXDLLIMPEXP_DATA_BASE(wxMBConv) wxConvLibc, extern WXDLLIMPEXP_DATA_BASE(wxMBConv) wxConvLibc,
wxConvLocal, wxConvLocal,
@@ -513,8 +517,7 @@ extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvCurrent;
#define wxFNCONV(name) name #define wxFNCONV(name) name
#define wxFNSTRINGCAST WXSTRINGCAST #define wxFNSTRINGCAST WXSTRINGCAST
#endif #endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
// wxUSE_WCHAR_T
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// macros for the most common conversions // macros for the most common conversions

View File

@@ -1304,7 +1304,7 @@ void wxMsgCatalogFile::FillHash(wxMessagesHash& hash,
: new wxCSConv(msgIdCharset); : new wxCSConv(msgIdCharset);
#elif wxUSE_FONTMAP #elif wxUSE_FONTMAP
wxASSERT_MSG( msgIdCharset == NULL, wxASSERT_MSG( msgIdCharset.empty(),
_T("non-ASCII msgid languages only supported if wxUSE_WCHAR_T=1") ); _T("non-ASCII msgid languages only supported if wxUSE_WCHAR_T=1") );
wxEncodingConverter converter; wxEncodingConverter converter;
@@ -1430,6 +1430,7 @@ bool wxMsgCatalog::Load(const wxChar *szDirPrefix, const wxChar *szName,
file.FillHash(m_messages, msgIdCharset, bConvertEncoding); file.FillHash(m_messages, msgIdCharset, bConvertEncoding);
#if wxUSE_WCHAR_T
// we should use a conversion compatible with the message catalog encoding // we should use a conversion compatible with the message catalog encoding
// in the GUI if we don't convert the strings to the current conversion but // in the GUI if we don't convert the strings to the current conversion but
// as the encoding is global, only change it once, otherwise we could get // as the encoding is global, only change it once, otherwise we could get
@@ -1445,6 +1446,7 @@ bool wxMsgCatalog::Load(const wxChar *szDirPrefix, const wxChar *szName,
wxConvUI = wxConvUI =
m_conv = new wxCSConv(file.GetCharset()); m_conv = new wxCSConv(file.GetCharset());
} }
#endif // wxUSE_WCHAR_T
return true; return true;
} }

View File

@@ -448,8 +448,11 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
if (encName.empty()) if (encName.empty())
encName = _T("UTF-8"); encName = _T("UTF-8");
#endif // wxUSE_INTL #endif // wxUSE_INTL
#if wxUSE_WCHAR_T
static wxConvBrokenFileNames fileconv(encName); static wxConvBrokenFileNames fileconv(encName);
wxConvFileName = &fileconv; wxConvFileName = &fileconv;
#endif // wxUSE_WCHAR_T
#if wxUSE_UNICODE #if wxUSE_UNICODE
// gtk_init() wants UTF-8, not wchar_t, so convert // gtk_init() wants UTF-8, not wchar_t, so convert

View File

@@ -152,7 +152,12 @@ protected:
virtual bool OnRead(const wxMBConv& WXUNUSED(conv)) virtual bool OnRead(const wxMBConv& WXUNUSED(conv))
{ {
return wxTextFile::OnRead( return wxTextFile::OnRead(
wxMBConvUTF8(wxMBConvUTF8::MAP_INVALID_UTF8_TO_PUA)); #if wxUSE_WCHAR_T
wxMBConvUTF8(wxMBConvUTF8::MAP_INVALID_UTF8_TO_PUA)
#else
wxMBConv()
#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
);
} }
}; };