Details

[Home]

Issue of the Implementation # S0591

Brief

The function FcConfigUptoDate returns FcTrue, though it should return FcFalse

Detailed Description

The description of the function FcConfigUptoDate states: "Checks all of the files related to config and returns whether the in-memory version is in sync with the disk version". So, when the in-memory version of the configuration is changed the function should return FcFalse.

However, the implementation of the function FcConfigUptoDate returns FcTrue in this condition.

Problem location(s) in the standard

Fontconfig Developers Reference, Version 2.4.2

Example

    FcConfig        *fc;
    int             fc_ri;
    FcBool          b1, b2;

    if (!(fc = FcConfigGetCurrent ()))
    {
        printf ("Could not get current config\n");
    }
    
    b1 = FcConfigUptoDate (fc);
    
    fc_ri = FcConfigGetRescanInverval (fc);
    if (FcConfigSetRescanInverval(fc, ++fc_ri) != FcTrue)
    {
        printf ("FcConfigSetRescanInverval failed\n");
    }    
    
    b2 = FcConfigUptoDate (fc);
    
    /*
     * Checks all of the files related to config and returns whether the
     * in-memory version is in sync with the disk version
     */
    // b1 should be FcTrue and b2 should be FcFalse;

Component

fontconfig 2.2.3 or later

Accepted

freedesktop.org Bugzilla 12948

Status

Fixed in fontconfig 2.5.0

[Home]