[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
- [ft-devel] WOFF support, Behdad Esfahbod, 2013/08/19
- Re: [ft-devel] WOFF support, Werner LEMBERG, 2013/08/20
- Re: [ft-devel] WOFF support, Behdad Esfahbod, 2013/08/20
- Re: [ft-devel] WOFF support, Behdad Esfahbod, 2013/08/21
- Re: [ft-devel] WOFF support, Werner LEMBERG, 2013/08/29
- Re: [ft-devel] WOFF support, Behdad Esfahbod, 2013/08/29
- Re: [ft-devel] WOFF support,
Werner LEMBERG <=
- Re: [ft-devel] WOFF support, Behdad Esfahbod, 2013/08/29
- Re: [ft-devel] WOFF support, Werner LEMBERG, 2013/08/29