Bug#896596: [DRE-maint] Bug#896596: ruby-gnome2: Debci failure with poppler 0.63.0
Emilio Pozuelo Monfort
pochu at debian.org
Sat Apr 28 13:38:26 BST 2018
Control: forwarded -1 https://bugs.freedesktop.org/show_bug.cgi?id=106295
On Sat, 28 Apr 2018 20:59:16 +0900 dai at debian.org wrote:
> Control: reassign -1 libpoppler-glib8 0.63.0-2
> Control: notforwarded -1
> Control: affects -1 + ruby-poppler
> Control: retitle -1 poppler-glib always returns 0 length for PopplerInputStream
>
> original bug report: https://bugs.debian.org/896596
> previous forwarded: https://github.com/ruby-gnome2/ruby-gnome2/issues/1159
>
> below comments and patch by Kouhei Sutou <kou at cozmixng.org>.
>
> > Poppler adds getLength() check at
> > https://cgit.freedesktop.org/poppler/poppler/commit/?id=a59f61641fcb36859b625749afb4561557e419f6
> > for https://bugs.freedesktop.org/show_bug.cgi?id=103552 .
> > But PopplerInputStream created by poppler-glib always returns 0 for getLength():
> > https://cgit.freedesktop.org/poppler/poppler/tree/glib/poppler-document.cc#n301
> > I think that poppler-glib computes length in poppler_document_new_from_stream()
> > and specifies the length to PopplerInputStream.
>
> ---
>
> > We'll be able to compute length by g_seekable_seek(0, G_SEEK_END) and
> > g_seekable_tell().
>
> ---
>
> > Ah, we can just use the length passed by argument:
>
> ```
> diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc
> index b343eb90..504042cd 100644
> --- a/glib/poppler-document.cc
> +++ b/glib/poppler-document.cc
> @@ -298,7 +298,7 @@ poppler_document_new_from_stream (GInputStream *stream,
> }
>
> if (stream_is_memory_buffer_or_local_file(stream)) {
> - str = new PopplerInputStream(stream, cancellable, 0, gFalse, 0, Object(objNull));
> + str = new PopplerInputStream(stream, cancellable, 0, gFalse, length, Object(objNull));
> } else {
> CachedFile *cachedFile = new CachedFile(new PopplerCachedFileLoader(stream, cancellable, length), new GooString());
> str = new CachedFileStream(cachedFile, 0, gFalse, cachedFile->getLength(), Object(objNull));
> ```
I have forwarded this upstream:
https://bugs.freedesktop.org/show_bug.cgi?id=106295
Emilio
More information about the Pkg-freedesktop-maintainers
mailing list