# HG changeset patch # User John W. Eaton # Date 1330434384 18000 # Node ID 933101fd5cbbf51da303d79bcd8a55f1d262d39f # Parent 12d13534265c08f311bc12055cab3fec5293fb76 Use file descriptor instead of a FILE pointer for OpenGL printing. Bug # 31641. * __init_fltk__.cc: * gl2ps_renderer.cc (gl2ps_renderer::draw): * gl2ps_renderer.h: diff -r 12d13534265c -r 933101fd5cbb src/DLD-FUNCTIONS/__init_fltk__.cc --- a/src/DLD-FUNCTIONS/__init_fltk__.cc Tue Feb 28 07:42:40 2012 -0500 +++ b/src/DLD-FUNCTIONS/__init_fltk__.cc Tue Feb 28 08:06:24 2012 -0500 @@ -179,7 +179,7 @@ if (print_mode) { FILE *fp = octave_popen (print_cmd.c_str (), "w"); - glps_renderer rend (fileno (fp), print_term); + glps_renderer rend (fp, print_term); rend.draw (gh_manager::get_object (number)); diff -r 12d13534265c -r 933101fd5cbb src/gl2ps-renderer.cc --- a/src/gl2ps-renderer.cc Tue Feb 28 07:42:40 2012 -0500 +++ b/src/gl2ps-renderer.cc Tue Feb 28 08:06:24 2012 -0500 @@ -43,14 +43,6 @@ { in_draw = true; - FILE *fp = fdopen (fid, "wb"); - - if (! fp) - { - error ("gl2ps-renderer: fdopen failed"); - return; - } - GLint buffsize = 0, state = GL2PS_OVERFLOW; GLint viewport[4]; @@ -92,8 +84,6 @@ state = gl2psEndPage (); } - gnulib::fclose (fp); - in_draw = 0; } else diff -r 12d13534265c -r 933101fd5cbb src/gl2ps-renderer.h --- a/src/gl2ps-renderer.h Tue Feb 28 07:42:40 2012 -0500 +++ b/src/gl2ps-renderer.h Tue Feb 28 08:06:24 2012 -0500 @@ -31,8 +31,8 @@ glps_renderer : public opengl_renderer { public: - glps_renderer (const int _fid, const std::string& _term) - : opengl_renderer () , fid (_fid), term (_term), + glps_renderer (FILE *_fp, const std::string& _term) + : opengl_renderer () , fp (_fp), term (_term), fontsize (), fontname () { } ~glps_renderer (void) { } @@ -78,7 +78,7 @@ private: int alignment_to_mode (int ha, int va) const; - int fid; + FILE *fp; caseless_str term; double fontsize; std::string fontname;