X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6cc4e6b81a9f2a0275d7fa0c6171658b24a2af8a..19e30148e18cc99296b26503c155e5cef59045f4:/src/html/winpars.cpp?ds=inline diff --git a/src/html/winpars.cpp b/src/html/winpars.cpp index 86dbfd1b90..877341fc05 100644 --- a/src/html/winpars.cpp +++ b/src/html/winpars.cpp @@ -180,31 +180,32 @@ wxObject* wxHtmlWinParser::GetProduct() return top; } -wxFSFile *wxHtmlWinParser::OpenURL(wxHtmlURLType type, +wxFSFile *wxHtmlWinParser::OpenURL(wxHtmlURLType type, const wxString& url) const { // FIXME - normalize the URL to full path before passing to // OnOpeningURL!! if ( m_Window ) { - wxString redirect; wxString myurl(url); wxHtmlOpeningStatus status; for (;;) { - if ( m_Window->OnOpeningURL(type, myurl, &redirect) == wxHTML_REDIRECT ) - myurl = redirect; - else + wxString redirect; + status = m_Window->OnOpeningURL(type, myurl, &redirect); + if ( status != wxHTML_REDIRECT ) break; + + myurl = redirect; } - + if ( status == wxHTML_BLOCK ) return NULL; - else - return GetFS()->OpenFile(myurl); + + return GetFS()->OpenFile(myurl); } - else - return wxHtmlParser::OpenURL(type, url); + + return wxHtmlParser::OpenURL(type, url); } void wxHtmlWinParser::AddText(const wxChar* txt) @@ -389,21 +390,21 @@ void wxHtmlWinParser::SetInputEncoding(wxFontEncoding enc) bool availfix, availnorm; // exact match? - availnorm = wxTheFontMapper->IsEncodingAvailable(enc, m_FontFaceNormal); - availfix = wxTheFontMapper->IsEncodingAvailable(enc, m_FontFaceFixed); + availnorm = wxFontMapper::Get()->IsEncodingAvailable(enc, m_FontFaceNormal); + availfix = wxFontMapper::Get()->IsEncodingAvailable(enc, m_FontFaceFixed); if (availnorm && availfix) m_OutputEnc = enc; // alternatives? - else if (wxTheFontMapper->GetAltForEncoding(enc, &altnorm, m_FontFaceNormal, FALSE) && - wxTheFontMapper->GetAltForEncoding(enc, &altfix, m_FontFaceFixed, FALSE) && + else if (wxFontMapper::Get()->GetAltForEncoding(enc, &altnorm, m_FontFaceNormal, FALSE) && + wxFontMapper::Get()->GetAltForEncoding(enc, &altfix, m_FontFaceFixed, FALSE) && altnorm == altfix) m_OutputEnc = altnorm; // at least normal face? else if (availnorm) m_OutputEnc = enc; - else if (wxTheFontMapper->GetAltForEncoding(enc, &altnorm, m_FontFaceNormal, FALSE)) + else if (wxFontMapper::Get()->GetAltForEncoding(enc, &altnorm, m_FontFaceNormal, FALSE)) m_OutputEnc = altnorm; // okay, let convert to ISO_8859-1, available always @@ -442,27 +443,29 @@ void wxHtmlWinParser::SetInputEncoding(wxFontEncoding enc) IMPLEMENT_ABSTRACT_CLASS(wxHtmlWinTagHandler, wxHtmlTagHandler) - - //----------------------------------------------------------------------------- // wxHtmlTagsModule //----------------------------------------------------------------------------- +// NB: This is *NOT* winpars.cpp's initialization and shutdown code!! +// This module is an ancestor for tag handlers modules defined +// in m_*.cpp files with TAGS_MODULE_BEGIN...TAGS_MODULE_END construct. +// +// Do not add any winpars.cpp shutdown or initialization code to it, +// create a new module instead! IMPLEMENT_DYNAMIC_CLASS(wxHtmlTagsModule, wxModule) - bool wxHtmlTagsModule::OnInit() { wxHtmlWinParser::AddModule(this); return TRUE; } - - void wxHtmlTagsModule::OnExit() { wxHtmlWinParser::RemoveModule(this); } + #endif