Review Request 113704: Fix EPS plugin
Alex Merry
kde at randomguy3.me.uk
Sun Nov 10 18:55:43 UTC 2013
> On Nov. 10, 2013, 6:39 p.m., David Faure wrote:
> > tier1/kguiaddons/src/plugins/imageformats/eps.cpp, line 246
> > <http://git.reviewboard.kde.org/r/113704/diff/2/?file=212428#file212428line246>
> >
> > My suggestion was simply QImageReader ppmReader(io, "ppm"), to let it read directly from the QProcess iodevice. Then there's no need to write your own loop.
> >
> > Would that not work? (I'm not sure what happens if we have to wait for more data to be available, maybe QImageReader isn't ready for that....)
> >
Well, as it's set up, we feed the io device we're given (in EPS format) to gs via its stdin, and let it write to a file. Then we let QImageReader read the file (in PPM format). The buffer is used to do that first transfer, which doesn't involved QImageReader directly.
Alternatively, we could write the io device contents (in EPS format) to a file, and pass the output (read) channel of the gs process to QImageReader, but I'm not sure that actually buys us anything.
Avoiding the temporary file altogether sets us up for potential deadlocks.
- Alex
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113704/#review43380
-----------------------------------------------------------
On Nov. 10, 2013, 6:16 p.m., Alex Merry wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/113704/
> -----------------------------------------------------------
>
> (Updated Nov. 10, 2013, 6:16 p.m.)
>
>
> Review request for KDE Frameworks.
>
>
> Repository: kdelibs
>
>
> Description
> -------
>
> 4 commits. Previously, writing support was completely broken (it would write a PDF file instead of an EPS file). The rest of the changes mostly make it more maintainable.
>
>
> Disable EPS plugin on non-UNIX systems
>
> It depends on the gs command-line utility being in PATH, which is
> unlikely on Windows, for example.
>
>
> Use QProcess to run gs when reading EPS images
>
>
> Fix writing EPS files
>
> QPrinter is no longer capable of producing PostScript files, so we
> output to PDF then used GhostScript (or pdftops from Poppler) to convert
> the result to EPS. Note that GhostScript is already used by the reading
> code.
>
>
> Use qCDebug for the EPS plugin
>
>
> Diffs
> -----
>
> tier1/kguiaddons/src/plugins/imageformats/CMakeLists.txt 005859ac6fd792f2589339bc68437dd2d965cc8f
> tier1/kguiaddons/src/plugins/imageformats/eps.cpp cb25052a9d7a01ea7a8ed8014726b762e8a5da16
>
> Diff: http://git.reviewboard.kde.org/r/113704/diff/
>
>
> Testing
> -------
>
> Successfully converted a JPG file to EPS and back again; both the final JPG and the intermediate EPS file display properly with Gwenview/Okular from KDE SC 4. This works both with pdftops present in PATH and without it (providing gs is in PATH).
>
>
> Thanks,
>
> Alex Merry
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131110/e8795323/attachment.html>
More information about the Kde-frameworks-devel
mailing list