projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Applied patch [ 573644 ] wxDisplay for Mac (again)
[wxWidgets.git]
/
src
/
html
/
htmprint.cpp
diff --git
a/src/html/htmprint.cpp
b/src/html/htmprint.cpp
index 9b25e01dc6a67edc3915c375e48b8dc220b49f8f..fac5d336351d230fc4a42e66939138cccbd3b4da 100644
(file)
--- a/
src/html/htmprint.cpp
+++ b/
src/html/htmprint.cpp
@@
-10,7
+10,7
@@
#ifdef __GNUG__
#ifdef __GNUG__
-#pragma implementation
+#pragma implementation
"htmprint.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#endif
// For compilers that support precompilation, includes "wx/wx.h".
@@
-30,6
+30,7
@@
#if wxUSE_HTML && wxUSE_PRINTING_ARCHITECTURE && wxUSE_STREAMS
#if wxUSE_HTML && wxUSE_PRINTING_ARCHITECTURE && wxUSE_STREAMS
+#include "wx/dc.h"
#include "wx/print.h"
#include "wx/printdlg.h"
#include "wx/html/htmprint.h"
#include "wx/print.h"
#include "wx/printdlg.h"
#include "wx/html/htmprint.h"
@@
-268,7
+269,8
@@
void wxHtmlPrintout::SetHtmlText(const wxString& html, const wxString &basepath,
m_BasePathIsDir = isdir;
}
m_BasePathIsDir = isdir;
}
-
+// defined in htmlfilt.cpp
+void wxPrivate_ReadString(wxString& str, wxInputStream* s);
void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile)
{
void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile)
{
@@
-282,12
+284,9
@@
void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile)
}
wxInputStream *st = ff->GetStream();
}
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);
delete ff;
SetHtmlText(doc, htmlfile, FALSE);
@@
-544,6
+543,12
@@
void wxHtmlEasyPrinting::PrinterSetup()
void wxHtmlEasyPrinting::PageSetup()
{
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);
m_PageSetupData->SetPrintData(*m_PrintData);
wxPageSetupDialog pageSetupDialog(m_Frame, m_PageSetupData);
@@
-594,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
#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE