summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2010-03-23 18:41:30 +0000
committerManolo Gouy <Manolo>2010-03-23 18:41:30 +0000
commitd19b0262ea07af894bc8dbd7ab26b82fec1267b2 (patch)
tree26b91bc701fc05a1cccbfc17620ba0b6818a2432
parente00a106337e3aad480e99ea72f7600399b812279 (diff)
Better error return codes for Fl_PSfile_Device::start_job()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7323 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--FL/Fl_PSfile_Device.H4
-rw-r--r--src/Fl_PS_Printer.cxx5
2 files changed, 5 insertions, 4 deletions
diff --git a/FL/Fl_PSfile_Device.H b/FL/Fl_PSfile_Device.H
index b8e571fb9..247cb2a2f 100644
--- a/FL/Fl_PSfile_Device.H
+++ b/FL/Fl_PSfile_Device.H
@@ -265,7 +265,7 @@ class FL_EXPORT Fl_PSfile_Device : public Fl_Abstract_Printer {
@param pagecount The total number of pages to be created.
@param format Desired page format.
@param layout Desired page layout.
- @return 0 iff OK
+ @return 0 iff OK, 1 if user cancelled the file dialog, 2 if fopen failed on user-selected output file.
*/
int start_job(int pagecount, enum Page_Format format = A4, enum Page_Layout layout = PORTRAIT);
@@ -276,7 +276,7 @@ class FL_EXPORT Fl_PSfile_Device : public Fl_Abstract_Printer {
@param pagecount The total number of pages to be created.
@param format Desired page format.
@param layout Desired page layout.
- @return 0 iff OK
+ @return 0 iff OK, 1 if fopen(fname, "w") call failed.
*/
int start_job(const char *fname, int pagecount, enum Page_Format format = A4, enum Page_Layout layout = PORTRAIT);
diff --git a/src/Fl_PS_Printer.cxx b/src/Fl_PS_Printer.cxx
index d981ee2c9..cdc3545a4 100644
--- a/src/Fl_PS_Printer.cxx
+++ b/src/Fl_PS_Printer.cxx
@@ -1204,9 +1204,10 @@ int Fl_PSfile_Device::start_job (int pagecount, enum Page_Format format, enum Pa
// Show native chooser
if ( fnfc.show() ) return 1;
output = fopen(fnfc.filename(), "w");
- if(output == NULL) return 1;
+ if(output == NULL) return 2;
ps_filename_ = strdup(fnfc.filename());
- return start_postscript(pagecount, format, layout);
+ start_postscript(pagecount, format, layout);
+ return 0;
}
int Fl_PSfile_Device::start_job (const char *fname, int pagecount, enum Page_Format format, enum Page_Layout layout)