freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] WOFF support


From: Werner LEMBERG
Subject: Re: [ft-devel] WOFF support
Date: Thu, 29 Aug 2013 19:34:36 +0200 (CEST)

>> It also crashed if the compressed font was an OTF instead of a TTF.
> 
> Interesting.  I checked the code but didn't see what you changed.

`stream' was changed within `open_face' but not updated in the caller.
If the font is not a TTF, the next font module is tried, but it still
used the old FT_Stream object (which has been just deallocated).

BTW, the reason for having both `stream' and `face' in parallel is
that `face' is set to NULL in case of failure.

>   - I see you are now passing down pointer to stream.  Then the last
>     line in this pieces should not be needed, right?
> 
>      if ( clazz->init_face )
> -      error = clazz->init_face( stream,
> +      error = clazz->init_face( *astream,
>                                  face,
>                                  (FT_Int)face_index,
>                                  num_params,
>                                  params );
> +    *astream = face->stream; /* Stream may have been changed. */
> 
> same about other places maybe?

Ah, right.  Please fix :-)

>   - Since you are not loading tables while scanning the directly,
>     you can now do one FRAME_ENTER for the entire table directory.
>     Doesn't matter really.

Please provide a patch for this, too.

>   - Did you get to check the
>     0001-FT_Open_Face-improve-external-stream-handling.patch patch?
>     Without it we may be leaking streams.

This has already been committed as
bd3849e7deefcb3c772e77f14fdbf102bead389d.


    Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]