X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec2c85bf79778212bfcbc849e0a69c1c59bafc90..b89e528d7066918515e6ad7f77ff4637564ef25e:/src/html/helpdata.cpp diff --git a/src/html/helpdata.cpp b/src/html/helpdata.cpp index edebdcc7fb..0b67e4482e 100644 --- a/src/html/helpdata.cpp +++ b/src/html/helpdata.cpp @@ -500,6 +500,18 @@ bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile, const wxString& indexfile, const wxString& deftopic, const wxString& path) { +#if wxUSE_WCHAR_T + #if wxUSE_UNICODE + #define CORRECT_STR(str, conv) \ + str = wxString((str).mb_str(wxConvISO8859_1), conv) + #else + #define CORRECT_STR(str, conv) \ + str = wxString((str).wc_str(conv), wxConvLocal) + #endif +#else + #define CORRECT_STR(str, conv) +#endif + wxFileSystem fsys; wxFSFile *fi; wxHtmlBookRecord *bookr; @@ -517,7 +529,16 @@ bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile, return true; // book is (was) loaded } - bookr = new wxHtmlBookRecord(bookfile.GetLocation(), fsys.GetPath(), title, deftopic); + wxString title1 = title; + if (encoding != wxFONTENCODING_SYSTEM) + { + wxCSConv conv(encoding); + CORRECT_STR(title1, conv); + if (title1.IsEmpty() && !title.IsEmpty()) + title1 = title; + } + + bookr = new wxHtmlBookRecord(bookfile.GetLocation(), fsys.GetPath(), title1, deftopic); wxHtmlHelpDataItem *bookitem = new wxHtmlHelpDataItem; bookitem->level = 0; @@ -574,13 +595,6 @@ bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile, // differences here and also convert to wxConvLocal in ANSI build if (encoding != wxFONTENCODING_SYSTEM) { - #if wxUSE_UNICODE - #define CORRECT_STR(str, conv) \ - str = wxString((str).mb_str(wxConvISO8859_1), conv) - #else - #define CORRECT_STR(str, conv) \ - str = wxString((str).wc_str(conv), wxConvLocal) - #endif wxCSConv conv(encoding); size_t IndexCnt = m_index.size(); size_t ContentsCnt = m_contents.size();