• Show log

    Commit

  • Hash : 38b272ff
    Author : suzuki toshiya
    Date : 2011-01-09T22:49:07

    [cache] Notice if a cache query induced the node list change.
    
    Some node comparators (comparing the cache node content and
    the properties specified by the query) can flush the cache
    node to prevent the cache inflation.  The change may
    invalidate the pointers to the node obtained before the node
    comparison, so the change should be noticed to the caller.
    The problem caused by the cache node changing is reported by
    Harsha, see Savannah bug #31923.
    
    * src/cache/ftccache.h (FTC_Node_CompareFunc): Add new
    argument `FT_Bool* list_changed' to indicate the change of
    the cached nodes to the caller.
    (FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes
    by `_list_changed'.
    (FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed'
    and update it when FTC_Manager_FlushN() flushes any nodes.
    
    * src/cache/ftccback.h (ftc_snode_compare): Updated to fit
    with new FTC_Node_CompareFunc type.  (ftc_gnode_compare): Ditto.
    
    * src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to
    use TRUE/FALSE macros.  (ftc_basic_gnode_compare_faceid):
    New argument `FT_Bool* list_changed' to indicate the change
    of the cache nodes, anyway, it is always FALSE.
    
    * src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to
    use TRUE/FALSE macros.  (ftc_cmap_node_compare):
    New argument `FT_Bool* list_changed' to indicate the change
    of the cache nodes, anyway, it is always FALSE.
    (ftc_cmap_node_remove_faceid): Ditto.
    
    * src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL
    pointer to FTC_CACHE_TRYLOOP_END(), because the result is
    not needed.  (FTC_Cache_Lookup): Watch the change of the cache
    nodes by `list_changed'.  (FTC_Cache_RemoveFaceID): Ditto.
    
    * src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to
    use TRUE/FALSE macros.  (ftc_gnode_compare): New argument
    `FT_Bool* list_changed' to indicate the change of the cache
    nodes, anyway, it is always FALSE.  (FTC_GNode_Compare):
    New argument `FT_Bool* list_changed' to be passed to
    ftc_gnode_compare().
    * src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
    
    * src/cache/ftcsbits.c (ftc_snode_compare): New argument
    `FT_Bool* list_changed' to indicate the change of the cache
    nodes, anyway. It is updated by FTC_CACHE_TRYLOOP().
    (FTC_SNode_Compare): New argument `FT_Bool* list_changed'
    to be passed to ftc_snode_compare().
    * src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/freetype.git
    Git SSH git@git.kmx.io:kc3-lang/freetype.git
    Public access ? public
    Description
    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags

  • README

  •   Special notes to Unix users
      ===========================
    
      Please  read  the file  `docs/UPGRADE.UNIX'.  It contains  important
      information regarding the installation  of FreeType on Unix systems,
      especially GNU based operating systems like GNU/Linux.
    
      FreeType 2's  library is called `libfreetype',  FreeType 1's library
      is called `libttf'.  They are *not* compatible!
    
    
      FreeType 2.4.4
      ==============
    
      Please   read   the  docs/CHANGES   file,   it  contains   IMPORTANT
      INFORMATION.
    
      Read the files `docs/INSTALL' for installation instructions.
    
      The FreeType 2 API reference is located in `docs/reference'; use the
      file   `ft2-doc.html'   as   the   top  entry   point.    Additional
      documentation is available as a separate package from our sites.  Go
      to
    
        http://download.savannah.gnu.org/releases/freetype/
    
      and download one of the following files.
    
        freetype-doc-2.4.4.tar.bz2
        freetype-doc-2.4.4.tar.gz
        ftdoc244.zip
    
    
      Bugs
      ====
    
      Please report bugs  by e-mail to `freetype-devel@nongnu.org'.  Don't
      forget to  send a  detailed explanation of  the problem --  there is
      nothing  worse than  receiving a  terse message  that only  says `it
      doesn't work'.
    
      Alternatively, you may submit a bug report at
    
        https://savannah.nongnu.org/bugs/?group=freetype
    
    
      Enjoy!
    
    
        The FreeType Team
    
    ----------------------------------------------------------------------
    
    Copyright 2006, 2007, 2008, 2009, 2010 by
    David Turner, Robert Wilhelm, and Werner Lemberg.
    
    This  file is  part of  the FreeType  project, and  may only  be used,
    modified,  and distributed  under the  terms of  the  FreeType project
    license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
    this file you  indicate that you have read  the license and understand
    and accept it fully.
    
    
    --- end of README ---