[poppler] poppler 0.5.4 coming up

Kouhei Sutou kou at cozmixng.org
Thu Sep 21 05:46:17 PDT 2006


Hi,

In <59ad55d30609201451g54965822u1293cf880e799688 at mail.gmail.com>
  "[poppler] poppler 0.5.4 coming up" on Wed, 20 Sep 2006 17:51:48 -0400,
  "Kristian_Høgsberg" <krh at bitplanet.net> wrote:

> So it's about time for a new release

It's good news!

> There's a bunch of important fixes in CVS and the release is long
> overdue so I'd really like to get this out tomorrow at the latest, but
> if there's a show-stopper bug you know of that should get fixed before
> the release, let me know.

I have some bugs I filed.

* PopplerAction family is not GLib-ish
  https://bugs.freedesktop.org/show_bug.cgi?id=6912

  Now, I think this idea isn't good because GdkEvent uses
  same implementation. So I'll close this bug. Any opinion?

* make PopplerFontInfo GObject
  https://bugs.freedesktop.org/show_bug.cgi?id=6921

  I'm the maintainer Ruby/Poppler. It's very easy to
  implement Ruby bindings if an object supports G_TYPE. I
  think it's a good idea that PopplerFontInfo supports
  GObject not GBoxed. Because PopplerFontInfo has a
  FontInfoScanner and FontInfoScanner doesn't have copy
  constructor. That is PopplerFontInfo's copy function can't
  copy current scan information. So, I think GObject is a
  good choice rather than GBoxed.

* It's better PopplerPage manages PopplerDocument's reference count
  https://bugs.freedesktop.org/show_bug.cgi?id=7005

  This request is for Ruby bindings too.

>   PopplerDocument may be used by PopplerPage until all
>   PopplerPage in PopplerDocument are destroyied. So it's
>   better PopplerPage counts up PopplerDocument's reference
>   count when new PopplerPage is created and counts down when
>   PopplerPage is destroyed.


  A problem case is the following(Ruby):

    doc = Poppler::Document.new(input)
    page = doc[0]
    doc = nil
    GC.start # doc is garbage collected and
             # g_object_unref(doc) is called.
    page.render_to_pixbuf(...) # uses (destroyed) page->document
                               # internally and causes
                               # segmentation fault

  For now, Ruby/Poppler guards doc from GC until page is
  stile alive. But this is just work around.


Thanks,
--
kou


More information about the poppler mailing list