[poppler] Stroke color of type 3 fonts

Carlos Garcia Campos carlosgc at gnome.org
Thu Jun 19 01:47:40 PDT 2008


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
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler

-- 
Carlos Garcia Campos
   elkalmail at yahoo.es
   carlosgc at gnome.org
   http://carlosgc.linups.org
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente
Url : http://lists.freedesktop.org/archives/poppler/attachments/20080619/b16790b9/attachment.pgp 


More information about the poppler mailing list