summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_GDI_Printer.cxx7
-rw-r--r--src/Fl_Quartz_Printer.mm2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/Fl_GDI_Printer.cxx b/src/Fl_GDI_Printer.cxx
index 543d30a2a..f89374095 100644
--- a/src/Fl_GDI_Printer.cxx
+++ b/src/Fl_GDI_Printer.cxx
@@ -39,6 +39,10 @@ Fl_Printer::Fl_Printer(void) : Fl_Abstract_Printer() {
type_ = gdi_printer;
}
+Fl_Printer::~Fl_Printer(void) {
+ if (hPr) end_job();
+}
+
static void WIN_SetupPrinterDeviceContext(HDC prHDC)
{
if ( !prHDC ) return;
@@ -81,7 +85,7 @@ int Fl_Printer::start_job (int pagecount, int *frompage, int *topage)
prerr = StartDoc (hPr, &di);
if (prerr < 1) {
abortPrint = TRUE;
- fl_alert ("StartDoc error %d", prerr);
+ //fl_alert ("StartDoc error %d", prerr);
err = 1;
}
} else {
@@ -129,6 +133,7 @@ void Fl_Printer::end_job (void)
GlobalFree (pd.hDevNames);
}
}
+ hPr = NULL;
}
void Fl_Printer::absolute_printable_rect(int *x, int *y, int *w, int *h)
diff --git a/src/Fl_Quartz_Printer.mm b/src/Fl_Quartz_Printer.mm
index 0875d8938..dfc3b34dd 100644
--- a/src/Fl_Quartz_Printer.mm
+++ b/src/Fl_Quartz_Printer.mm
@@ -43,6 +43,8 @@ Fl_Printer::Fl_Printer(void)
type_ = quartz_printer;
}
+Fl_Printer::~Fl_Printer(void) {}
+
int Fl_Printer::start_job (int pagecount, int *frompage, int *topage)
//printing using a Quartz graphics context
//returns 0 iff OK