- wxString src, srcMid;
-
- src = *m_WParser->GetSource();
- srcMid = src.Mid(tag.GetBeginPos(),
- tag.GetEndPos1() - tag.GetBeginPos());
- srcMid.Replace(wxT("\t"), wxT(" "));
- srcMid.Replace(wxT(" "), wxT(" "));
- srcMid.Replace(wxT("\n"), wxT("<br>"));
-
- // It is safe to temporarily change the source being parsed,
- // provided we restore the state back after parsing
- m_Parser->SetSource(srcMid);
- m_Parser->DoParsing();
- m_Parser->SetSource(src);
-
+ // setting Whitespace_Pre mode takes care of spaces and TABs, but
+ // not linebreaks, so we have to translate them into <br> by
+ // calling HtmlizeLinebreaks() here
+ ParseInnerSource(HtmlizeLinebreaks(srcMid));
+
+ m_WParser->CloseContainer();