El mié, 18-06-2008 a las 15:10 -0400, Jeff Muizelaar escribió: > On Wed, Jun 18, 2008 at 11:39:20AM -0700, Michael Vrable wrote: > > I'm now seeing a crash with some PDFs in evince, and reverting this > > patch fixes them. The error I'm seeing is > > > > evince: cairo-pattern.c:679: cairo_pattern_destroy: Assertion > > `((*&(&pattern->ref_count)->ref_count) > 0)' failed. > > > > My guess is that reference counts are not being updated on > > fill_pattern/stroke_pattern when they are temporarily changed; if the > > Type3 font happens to explicitly set the color, then the reference > > counts can be corrupted. > > > > Additionally, I believe it may be possible to have a Type3 font nested > > inside another Type3 font, but using a single member variable to save > > the old stroke color is not reentrant. > > > > Fortunately, calls to beginType3Char/endType3Char are already wrapped in > > calls to saveState/restoreState, so we don't need to save and restore > > the stroke color in the Cairo backend--that will happen automatically. > > This allows the code to be simplified. > > > > We should still set the stroke pattern to the current fill pattern. Do > > that, but with proper reference counting. > > > > Patch is attached. > > Looks good to me. > > Can someone commit it?
Yes, done :-) > I haven't fixed my commit access otherwise I'd > commit it myself. > > -Jeff > _______________________________________________ > poppler mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/poppler -- Carlos Garcia Campos [EMAIL PROTECTED] [EMAIL PROTECTED] http://carlosgc.linups.org PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
signature.asc
Description: Esta parte del mensaje está firmada digitalmente
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
