X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f11bdd03b9623a61bfe3137beeefd7b1256bb9a1..0256cfeb6db72fb570ff043a2cdd214128b3ea2d:/src/html/htmprint.cpp?ds=sidebyside diff --git a/src/html/htmprint.cpp b/src/html/htmprint.cpp index b3eee134e8..fac5d33635 100644 --- a/src/html/htmprint.cpp +++ b/src/html/htmprint.cpp @@ -10,7 +10,7 @@ #ifdef __GNUG__ -#pragma implementation +#pragma implementation "htmprint.h" #endif // For compilers that support precompilation, includes "wx/wx.h". @@ -269,7 +269,8 @@ void wxHtmlPrintout::SetHtmlText(const wxString& html, const wxString &basepath, m_BasePathIsDir = isdir; } - +// defined in htmlfilt.cpp +void wxPrivate_ReadString(wxString& str, wxInputStream* s); void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile) { @@ -283,12 +284,9 @@ void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile) } wxInputStream *st = ff->GetStream(); - char *t = new char[st->GetSize() + 1]; - st->Read(t, st->GetSize()); - t[st->GetSize()] = 0; + wxString doc; + wxPrivate_ReadString(doc, st); - wxString doc = wxString(t); - delete t; delete ff; SetHtmlText(doc, htmlfile, FALSE); @@ -545,6 +543,12 @@ void wxHtmlEasyPrinting::PrinterSetup() void wxHtmlEasyPrinting::PageSetup() { + if (!m_PrintData->Ok()) + { + wxLogError(_("There was a problem during page setup: you may need to set a default printer.")); + return; + } + m_PageSetupData->SetPrintData(*m_PrintData); wxPageSetupDialog pageSetupDialog(m_Frame, m_PageSetupData); @@ -595,5 +599,9 @@ wxHtmlPrintout *wxHtmlEasyPrinting::CreatePrintout() } +// This hack forces the linker to always link in m_* files +// (wxHTML doesn't work without handlers from these files) +#include "wx/html/forcelnk.h" +FORCE_WXHTML_MODULES() #endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE