Log

Author Commit Date CI Message
David Turner 281679de 2006-05-17T13:34:21 * include/freetype/internal/tttypes.h, src/autofit/afangles.c, src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c, src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c, src/type1/t1gload.c: this is a major patch used to drastically improve the performance of loading glyphs. This both speeds up loading the glypn vector themselves and the auto-fitter. note that we've started using inline assembler with GCC to implement FT_MulFix, given that this function is so damn important for the engine's performance. the resulting speed-up is about 25%.
David Turner dc3ff31c 2006-05-17T12:59:35 * src/ftccmap.c (FTC_CMapCache_Lookup): changed the threshold used to detect rogue clients from 4 to 16. This is to prevent some segmentation faults with fonts like KozMinProVI-Regular.otf which comes from the Japanese Adobe Reader Asian Font pack.
Werner Lemberg de2d90af 2006-05-17T08:54:30 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This fixes the first part of Savannah bug #16590. * docs/PROBLEMS: Updated icl issues.
Werner Lemberg 8ab412d4 2006-05-12T15:09:02 Version 2.2.1 released.
Werner Lemberg 6e467a65 2006-05-12T15:05:45 * src/tools/docmaker/tohtml.py (block_footer): Split into... (block_footer_start, block_footer_middle, block_footer_end): This to add navigation buttons. (HtmlFormatter::block_exit): Updated.
Werner Lemberg 22d34421 2006-05-12T14:24:33 Add final newline.
Werner Lemberg e12a471f 2006-05-12T14:20:43 * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset. Convert some files to UTF-8.
Werner Lemberg 2ee71f1f 2006-05-12T13:55:04 More minor fixes. Move `version' section to the end of freetype.h so that the library compiles actually.
Werner Lemberg 6756dc15 2006-05-12T08:00:13 * src/tools/docmaker/sources.py (re_source_keywords): Add word boundary markers. * src/tools/docmaker/content.py (re_field): Allow `.' in field names (but not at the beginning or end). * include/freetype/*: Many minor documentation improvements (adding links, spelling errors, etc.).
Werner Lemberg fd74ec68 2006-05-12T04:00:44 * README: Minor updates. * include/freetype/*: s/scale/scaling value/ where appropriate. Many other minor documentation improvements. * src/tools/docmaker/sources.py (re_italic, re_bold): Handle trailing punctuation. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add warning message for undefined cross references. Update handling of re_italic and re_bold.
Werner Lemberg 94168f0b 2006-05-11T07:07:09 Improve layout of `CHANGES' file.
Yamato, Masatake (大和正武) 28b55a9b 2006-05-11T03:01:42 (FT_Stream_Open): Check errno only if read system call returns -1. Remove a redundant parenthesis.
Werner Lemberg 37827608 2006-05-10T13:58:14 convert to Unix line endings
Werner Lemberg 910d4f41 2006-05-10T13:57:20 convert to Unix line endings.
Werner Lemberg 53478a10 2006-05-10T13:56:47 Convert to Unix line endings.
Werner Lemberg 3d69a198 2006-05-10T13:47:22 typo
Werner Lemberg e0d15595 2006-05-10T13:44:47 * builds/freetype.mk (refdoc): Write-protect the `docmaker' directory to suppress generation of .pyc files. According to the Python docs there isn't a more elegant solution (currently). * builds/toplevel.mk (dist): New target which builds .tar.gz, .tar.bz2, and .zip files. Note that the version number is still hard-coded. (do-dist): Sub-target of `dist'. (CONFIG_GUESS, CONFIG_SUB): New variables. (.PHONY): Updated.
Werner Lemberg b80d85fe 2006-05-10T04:47:35 * builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if given an empty, un-mmap()able file. Reported and suggested fix in Savannah bug #16555.
Werner Lemberg a127ca42 2006-05-09T13:41:50 * builds/win32/visualc/freetype.sln, builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from VS.NET 2003 Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c. * builds/win32/visualc/index.html: Updated.
Werner Lemberg 5bfa0621 2006-05-09T08:31:39 Minor change for testing purposes.
Werner Lemberg 4df5b26f 2006-05-08T07:10:29 Put version information into the configure script. Reported by Paul Watson <pwatson@redlinepy.com>. * builds/unix/configure.ac: Renamed to... * builds/unix/configure.raw: This which now serves (with appropriate modifications) as a template for configure.ac. * version.sed: New script. * autogen.sh: Generate configure.ac from configure.raw, using FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
Werner Lemberg 1639c794 2006-05-06T16:44:58 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. * builds/unix/configure.ac (version_info): Set to 9:10:3. * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc), Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/. Minor updates. * docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS: Updated. * builds/unix/install-sh: Updated from `texinfo' CVS module at savannah.gnu.org. * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h.
Werner Lemberg 4f3b5bbd 2006-05-04T07:13:05 * src/lzw/ftlzw2.c: Renamed to... * src/lzw/ftlzw.c: This. * src/lzw/Jamfile, src/lzw/rules.mk: Updated. * builds/mac/FreeType.m68k_cfm.make.txt, builds/mac/FreeType.m68k_far.make.txt, builds/mac/FreeType.ppc_carbon.make.txt, builds/mac/FreeType.ppc_classic.make.txt: Updated.
Werner Lemberg a94746ca 2006-05-03T20:39:55 Formatting.
David Turner 679a252c 2006-05-03T09:40:33 * include/freetype/internal/ftmemory.h: allow compilation with C++ compilers
Werner Lemberg 58eed04d 2006-05-02T22:26:09 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
Werner Lemberg 94204895 2006-05-02T22:24:06 Fix ChangeLog.
Werner Lemberg c6afa122 2006-05-02T22:22:16 * include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++). (FT_ALLOC): Remove redundant redefinition. * builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use `-Wstrict-prototypes'. * src/base/ftstream.c (FT_Stream_EnterFrame): Add cast. Formatting, copyright years.
David Turner 9482ba50 2006-05-02T10:21:28 * include/freetype/ftstream.h, src/base/ftstream.c: modifying various frame-related functions to report the place where the frames were entered/extracted/exited/released in the memory debugger.
David Turner 9ca78256 2006-05-02T09:00:29 * include/freetype/internal/ftmemory.h, src/base/ftbitmap.c, src/base/ftmac.c, src/base/ftrfork.c, src/lzw/ftzopen.c, src/raster/ftrend1.c, src/sfnt/ttpost.c, src/truetype/ttgxvar.c, src/type42/t42parse.c, src/winfonts/winfnt.c: hardening the code against out-of-bounds conditions when allocating arrays. This is for the cases where FT_NEW_ARRAY and FT_RENEW_ARRAY are not used already. Introducing the new FT_ALLOC_MULT and FT_REALLOC_MULT macros.
David Turner 264f307e 2006-05-02T06:34:27 * include/freetype/fterrdef.h, include/freetype/config/ftconfig.h, include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c, src/base/ftutil.c: udpating the memory management functions and macros to safely deal with array size buffer overflows, this corresponds to attemps to allocate arrays that are too large. For an example, consider the following code: count = read_uint32_from_file(); array = malloc( sizeof(Item) * count ); for ( nn = 0; nn < count; nn++ ) array[nn] = read_item_from_file(); if 'count' is larger than FT_UINT_MAX/sizeof(Item), the multiplication will overflow and the array allocated will be smaller than the data read from the file. In this case, the heap will be trashed, and this can be used as a denial-of-service, or make the engine crash later. the FT_ARRAY_NEW and FT_ARRAY_RENEW macro now check that the new count is no more than FT_INT_MAX/item_size, otherwise, a new error, named 'FT_Err_Array_Too_Large' will be returned. note that the memory debugger now works again when FT_DEBUG_MEMORY is defined, and FT_STRICT_ALIASING has disappeared, the corresponding code being now the default.
Suzuki, Toshiya (鈴木俊哉) a2295402 2006-04-30T04:46:17 fix bug in Mac_Read_POST_Resource()
Werner Lemberg 06fceb3f 2006-04-29T07:53:40 * builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c and forthcoming versions.
Werner Lemberg 8fe65390 2006-04-29T07:31:16 Further C library abstraction. Based on a patch from msn2@bidyut.com. * include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE, ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc, ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for C library functions. Update all users accordingly (and catch some other places where the C library function was used instead of the wrapper functions). * src/base/ftsystem.c: Don't include stdio.h and stdlib.h. * src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't include malloc.h.
Werner Lemberg 50ef72b6 2006-04-29T07:02:36 * src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed, obsolete.
Werner Lemberg a1c990a6 2006-04-29T06:24:30 convert to utf-8
Werner Lemberg 4e03fe76 2006-04-29T06:20:09 convert to UTF-8
Werner Lemberg 99854e7c 2006-04-28T19:36:37 Fix accents in ChangeLog.
Werner Lemberg 12cceaac 2006-04-27T05:02:35 * builds/win32/visualc/freetype.vcproj: Updated.
David Turner 3b47dd65 2006-04-26T19:34:24 Releasing FreeType 2.2
Werner Lemberg 564b4432 2006-04-26T15:02:52 * src/psaux/psobjs.c (shift_elements): Don't use FT_Long but FT_PtrDiff for `delta'. Reported by Cline PILLET <Celine.Pillet@Tagginfo.com>.
Werner Lemberg 8a8c6022 2006-04-22T12:24:52 Formatting, copyright years, documentation.
David Turner 7aa20102 2006-04-21T08:38:35 * src/sfnt/ttcmap.c: removed compiler warnings (gcc-4.0.2)
David Turner 8e438ead 2006-04-21T08:35:11 * include/freetype/ftincrem.h, include/freetype/ftmodapi.h, include/freetype/freetype.h: Documentation update
David Turner 7dc7f215 2006-04-13T16:31:02 doc updates - fixing FT_Stroker_New to use a FT_Library instead of a FT_Memory i know, i know, the ChangeLog will be updated later
David Turner 65c7c773 2006-04-13T07:51:58 * src/autofit/afloader.c: removing superfluous code in the auto-fitter's loader
Detlef Würkner 7d04322e 2006-04-05T07:17:12 no message
Werner Lemberg 7f18de64 2006-04-03T16:47:34 * builds/compiler/intelc.mk (TE): New variable. (ANSIFLAGS): Updated.
Werner Lemberg 764b2514 2006-04-03T16:42:39 * docs/PROBLEMS: New file.
Werner Lemberg fd7456c7 2006-04-03T15:46:48 * builds/exports.mk (clean_symbols_list, clean_apinames): Removed. (CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE). (.PHONY): Updated. * configure.ac: Minor fixes to improve --help output.
Werner Lemberg 4091786c 2006-04-01T18:49:07 Formatting.
David Turner cf60371a 2006-04-01T16:22:06 updating documentation
David Turner 0f15e1c1 2006-04-01T16:11:53 * include/freetype/ftcache.h, include/freetype/config/ftheader.h: updating documentation comments
David Turner 9da74d84 2006-04-01T09:14:12 updating cache documentation
Werner Lemberg 6e9df685 2006-04-01T05:22:07 * builds/unix/install.mk (uninstall): Don't handle `cache' directory which no longer exists.
Werner Lemberg b56ff680 2006-04-01T04:57:06 Updated.
Werner Lemberg 21d929be 2006-04-01T04:43:11 Updated.
Detlef Würkner d51b41e0 2006-03-29T06:35:26 no message
Werner Lemberg fa3651e7 2006-03-28T05:06:50 formatting, copyright year
David Turner 42137bc6 2006-03-27T20:10:26 * src/sfnt/ttkern.c (tt_face_get_kerning): fixed a serious bug that caused some programs to go into an infinite loop when dealing with fonts that don't have a properly sorted kerning sub-table
Werner Lemberg 26170df0 2006-03-26T07:19:07 * src/bdf/bdflib.c (ERRMSG4): New macro. (_bdf_parse_glyphs): Handle invalid BBX values. * include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error macro.
Werner Lemberg b6f6d247 2006-03-25T03:08:26 _not filtered_ -> _not_ _filtered_
Werner Lemberg d6e2498f 2006-03-24T18:31:47 * src/tools/docmaker/tohtml.py (make_html_para): Convert `...' quotations into real left and right single quotes. Use `para_header' and `para_footer'. * src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'" also.
Werner Lemberg af16820a 2006-03-24T12:46:49 Normalize quotation to `...'.
Werner Lemberg e0dd18fc 2006-03-24T12:14:48 * src/tools/docmaker/tohtml.py (html_header_1): The `DOCTYPE' comment must be in uppercase.
Werner Lemberg 4db32ecb 2006-03-24T11:54:53 * docs/CHANGES: Updated. * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal padding between table elements. Formatting, copyright years.
David Turner 2ce92037 2006-03-23T20:58:20 - added FT_Get_SubGlyph_Info API to freetype.h - small fix to lsb/rsb delta computations - cleaning up Jamfile
Werner Lemberg d8776b34 2006-03-22T20:33:48 Improve documentation of `FT_LOAD_MONOCHROME'.
Werner Lemberg 6c5b617c 2006-03-22T15:30:41 * src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup) [!FTC_INLINE]: Compile conditionally. * src/cache/ftccache.h: Updated. * src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily, FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New): s/FT_EXPORT/FT_LOCAL/. (FTC_GCache_Init, FTC_GCache_Done): Commented out. (FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally. s/FT_EXPORT/FT_LOCAL/. * src/cache/ftcglyph.h: Updated. * src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New): s/FT_EXPORT/FT_LOCAL/. (FTC_INode_Weight): Commented out. * src/cache/ftcimage.h: Updated. * src/cache/ftmanag.c (FTC_Manager_Compress, FTC_Manager_RegisterCache, FTC_Manager_FlushN): s/FT_EXPORT/FT_LOCAL/. * src/cache/ftmanag.h: Updated. * src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New, FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/. (FTC_SNode_Weight): Commented out. * src/cache/ftcsbits.h: Updated.
Werner Lemberg 3867d2f2 2006-03-22T08:03:06 * src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy): Remove, unused. * src/cache/ftccmap.h: Remove, unused. * src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
Werner Lemberg 5556dd21 2006-03-21T21:36:33 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve algorithm.
Werner Lemberg 8439fe85 2006-03-21T21:04:33 * builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc), README: s/2.1.10/2.2/.
Werner Lemberg 95f206b1 2006-03-21T20:47:28 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset correctly.
Werner Lemberg 26377008 2006-03-21T18:41:40 * src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member. * src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'. * src/cff/cffgload.c (cff_slot_load): Change type of third parameter to `FT_UInt'. Check range of `glyph_index'. * src/cff/cffgload.h: Updated.
Werner Lemberg a62007fb 2006-03-21T17:41:40 Fix ChangeLog.
David Turner 24b9e87b 2006-03-21T16:30:04 * src/autofit/aflatin.c (af_latin_metrics_scale): fixed small bug that crash the auto-hinter (introduce by previous patch). aaah
Werner Lemberg 5a73d8d2 2006-03-20T16:55:32 * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove. (FREETYPE_H): Updated. * src/cache/rules.mk (CACHE_H_DIR): Remove. (CACHE_DRV_H): Updated. Formatting, copyright years.
David Turner e091ce35 2006-03-20T16:01:28 * src/autofit/aflatin.c (af_latin_hints_init): disable horizontal hinting for italic/oblique fonts
David Turner da95af6c 2006-03-20T13:32:33 * builds/win32/visualc/freetype.dsp: updating the project file, adding missing base source files (e.g. ftstroke.c, ftxf86.c, etc...) * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/truetype/ttpload.c, src/truetype/ttpload.h, src/type1/t1afm.c, src/type1/t1objs.c: removing compiler warnings when building with Visual C++ 6 and /W4
David Turner 505667c6 2006-03-20T12:13:14 * builds/unix/install.mk: changing the installation procedure to remove the 'freetype/cache' from the target directory.
David Turner 256de4b1 2006-03-20T12:10:24 * include/freetype/cache/ftccache.h, include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h: removing these header files from the public include directory. * include/freetype/config/ftheader.h: changing the definition of FT_CACHE_INTERNAL_XXX_H macros to redirect to FT_CACHE_H instead * src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccache.h, src/cache/ftccback.h, src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h, src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c, src/cache/ftcmanag.h, src/cache/ftcmru.c, src/cache/ftcmru.h, src/cache/ftcsbits.c, src/cache/ftcsbits.h: modifications to prevent using the FT_CACHE_INTERNAL_XXX_H macros, and grab the headers in 'src/cache' instead (see below).
David Turner dad2a2de 2006-03-20T11:48:13 * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h, src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h, src/cache/ftcmru.h: copying the cache's internal header files which were located in 'include/freetype/cache' to the 'src/cache' directory instead. Note that these files are not used by FreeType clients, all cache public APIs have been already moved to include/freetype/ftcache.h, and the FT_CACHE_INTERNAL_XXXX_H macros all resolve to it. the move is to allow us to modify the internals without intereference from rogue clients. Note that there are no known client that accesses the cache internals at the moment.
Werner Lemberg e6a8fcac 2006-03-07T23:53:55 Fix ChangeLog.
David Turner 65b96aad 2006-03-07T00:38:24 * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): prevent crashes in Mozilla/FireFox print preview in Ubuntu Hoary
Werner Lemberg 91a3faaa 2006-03-01T11:31:08 Convert to Unix line endings.
Werner Lemberg e88d24c1 2006-02-28T21:49:54 formatting
Wu, Chia-I (吳佳一) 9f5d3de3 2006-02-28T13:21:50 * src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not return error if size == 0.
Wu, Chia-I (吳佳一) a87b08a7 2006-02-28T09:53:23 * src/base/ftobjs.c (FT_Done_Library): Modules are removed in the reversed order so that type42 module is removed before truetype module. This avoids double free in some occasions.
David Turner e9a47198 2006-02-28T09:26:58 * tagging VER-2-2-0-RC4 * docs/CHANGES: documentation updates
Suzuki, Toshiya (鈴木俊哉) 576c3531 2006-02-28T01:11:57 enable ftgxval.c by default
Werner Lemberg 98d6a3ac 2006-02-27T19:49:34 * src/cache/ftccache.c (ftc_node_destroy) [!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF. This should now fix all possible compilation options.
Werner Lemberg 422d2a05 2006-02-27T18:25:22 formatting, copyright years
Werner Lemberg c07ee520 2006-02-27T18:13:12 * include/freetype/cache/ftccache.h [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of ftc_node_done.
David Turner c13e75fb 2006-02-27T13:14:42 * src/base/ftutil.c: ft_mem_alloc and related functions now return an error if a negative size is passed in parameters. * src/cache/ftccache.c: make ftc_node_destroy FT_BASE_DEF, it needs to be exported for rogue clients * src/pshinter/pshglob.c: prevent problems with malformed fonts which have an odd number of blue values (these are broken according to the specs). * src/cff/cffload.c, src/type1/t1load.c: modify the loaders to force even-ness of 'num_blue_values'. Also change the CFF loader so that invalid entries in index files are ignored.
Wu, Chia-I (吳佳一) cffa8b65 2006-02-27T11:11:40 * src/base/ftobjs.c (FT_Set_Char_Size): Ahh.. forgot to check the case width or height is 0.
Suzuki, Toshiya (鈴木俊哉) 2f239b8e 2006-02-27T10:34:33 Update MPW makefiles to new header inclusion introduced on 2006-02-16
Wu, Chia-I (吳佳一) 2e48a1a1 2006-02-27T09:18:07 * src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph): Re-enable glyph metrics grid-fitting. It is now done in the base layer. (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and height are not too small or too large, just like we were doing in 2.1.10. * src/autofit/afloader.c (af_loader_load_g): The vertical metrics are not scaled.
Werner Lemberg f99d846c 2006-02-26T17:50:59 * docs/release: Minor additions and clarifications. * docs/CHANGES: Updated to reflect many fixes for backwards compatibility. Still incomplete.
Werner Lemberg 0aaf429a 2006-02-26T17:30:15 Fix ChangeLog.
David Turner b463665f 2006-02-26T07:57:45 * src/base/ftobjs.c (ft_recompute_scaled_metrics): re-enable conservative rounding of metrics to avoid breaking clients like Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852)