diff options
author | marha <marha@users.sourceforge.net> | 2014-07-28 21:19:00 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-07-28 21:19:00 +0200 |
commit | b33b8d8ae86876b50df96881b96074b3fe177cce (patch) | |
tree | bcdfa896ef05643b7edc1cd06518cbb7fed72c72 /fontconfig/src/fccfg.c | |
parent | d0c30e7945e76ac119f6d867e27137c8a76f7e15 (diff) | |
download | vcxsrv-b33b8d8ae86876b50df96881b96074b3fe177cce.tar.gz vcxsrv-b33b8d8ae86876b50df96881b96074b3fe177cce.tar.bz2 vcxsrv-b33b8d8ae86876b50df96881b96074b3fe177cce.zip |
plink fontconfig libX11 libXext xserver xkeyboard-config mesa git update 28 July 2014
xserver commit 4afedf545b673282f2e214c0e2c759c9be9b9a2a
xkeyboard-config commit 9010f6c0745f472b670c22340b5bbd36e33ce37e
libX11 commit 0885cad1e4a9ed57266582be320be55259c881bf
libXext commit efdcbb7634501e1117d422636a0a75d7ea84b16b
fontconfig commit a9e7b0494e04b3925d1bccc140ff2500cfff9618
mesa commit cc1e1da24a6c535617d9fb38858d48d8c2999e68
plink revision 10211
Diffstat (limited to 'fontconfig/src/fccfg.c')
-rw-r--r-- | fontconfig/src/fccfg.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c index 6d3259513..f8ee8d20e 100644 --- a/fontconfig/src/fccfg.c +++ b/fontconfig/src/fccfg.c @@ -1546,10 +1546,38 @@ FcConfigSubstituteWithPat (FcConfig *config, FcStrSetDestroy (strs); while (l && (lang = FcStrListNext (l))) { + FcPatternElt *e = FcPatternObjectFindElt (p, FC_LANG_OBJECT); + + if (e) + { + FcValueListPtr ll; + + for (ll = FcPatternEltValues (e); ll; ll = FcValueListNext (ll)) + { + FcValue vv = FcValueCanonicalize (&ll->value); + + if (vv.type == FcTypeLangSet) + { + FcLangSet *ls = FcLangSetCreate (); + FcBool b; + + FcLangSetAdd (ls, lang); + b = FcLangSetContains (vv.u.l, ls); + FcLangSetDestroy (ls); + if (b) + goto bail_lang; + } + else + if (FcStrCmpIgnoreCase (vv.u.s, lang) == 0) + goto bail_lang; + } + } v.type = FcTypeString; v.u.s = lang; + FcPatternObjectAddWithBinding (p, FC_LANG_OBJECT, v, FcValueBindingWeak, FcTrue); } + bail_lang: FcStrListDone (l); } if (FcPatternObjectGet (p, FC_PRGNAME_OBJECT, 0, &v) == FcResultNoMatch) |