Подробности

[В начало]

Проблема в реализации № S0591

Краткое описание

Функция FcConfigUptoDate возвращает FcTrue, хотя должна вернуть FcFalse

Подробное описание

В описании функции FcConfigUptoDate сказано: "Checks all of the files related to config and returns whether the in-memory version is in sync with the disk version". То есть после того, как конфигурация, находящаяся в памяти, изменяется, функция должна возвращать FcFalse.

Тем не менее, реализация функции FcConfigUptoDate в этой ситуации возвращает FcTrue.

Раздел стандарта

Fontconfig Developers Reference, Version 2.4.2

Пример

    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;

Компонент

fontconfig 2.2.3 or later

Принято

freedesktop.org Bugzilla 12948

Статус

Исправлено в fontconfig 2.5.0

[В начало]