diff options
author | marha <marha@users.sourceforge.net> | 2014-08-22 21:57:21 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-08-22 21:57:21 +0200 |
commit | 112d89481850102f28b6e7ff4f40b65c41e11f6c (patch) | |
tree | 9e22963aeda3f588d4aa3aa270fdba74922028c7 /fontconfig/src | |
parent | bcb354180f20f0c410a77bd32cbf2c1e799632d5 (diff) | |
parent | 6c0c95d6045d2d2b4e6a3a2f11457850031c57bc (diff) | |
download | vcxsrv-112d89481850102f28b6e7ff4f40b65c41e11f6c.tar.gz vcxsrv-112d89481850102f28b6e7ff4f40b65c41e11f6c.tar.bz2 vcxsrv-112d89481850102f28b6e7ff4f40b65c41e11f6c.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'fontconfig/src')
-rw-r--r-- | fontconfig/src/fccfg.c | 5 | ||||
-rw-r--r-- | fontconfig/src/fcinit.c | 9 | ||||
-rw-r--r-- | fontconfig/src/fcmatch.c | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c index f8ee8d20e..55cb297cd 100644 --- a/fontconfig/src/fccfg.c +++ b/fontconfig/src/fccfg.c @@ -434,6 +434,7 @@ retry: if (!fc_atomic_ptr_cmpexch (&_fcConfig, cfg, config)) goto retry; + FcConfigReference (config); if (cfg) FcConfigDestroy (cfg); @@ -2405,6 +2406,10 @@ FcConfigSetSysRoot (FcConfig *config, { config = FcInitLoadOwnConfigAndFonts (config); FcConfigSetCurrent (config); + /* FcConfigSetCurrent() increases the refcount. + * decrease it here to avoid the memory leak. + */ + FcConfigDestroy (config); } } diff --git a/fontconfig/src/fcinit.c b/fontconfig/src/fcinit.c index 1e23c1fbb..db62c21f2 100644 --- a/fontconfig/src/fcinit.c +++ b/fontconfig/src/fcinit.c @@ -189,11 +189,18 @@ FcBool FcInitReinitialize (void) { FcConfig *config; + FcBool ret; config = FcInitLoadConfigAndFonts (); if (!config) return FcFalse; - return FcConfigSetCurrent (config); + ret = FcConfigSetCurrent (config); + /* FcConfigSetCurrent() increases the refcount. + * decrease it here to avoid the memory leak. + */ + FcConfigDestroy (config); + + return ret; } FcBool diff --git a/fontconfig/src/fcmatch.c b/fontconfig/src/fcmatch.c index b0e695df3..25081e2cb 100644 --- a/fontconfig/src/fcmatch.c +++ b/fontconfig/src/fcmatch.c @@ -375,7 +375,7 @@ FcCompareValueList (FcObject object, best = 1e99; bestStrong = 1e99; bestWeak = 1e99; - j = 1; + j = 0; for (v1 = v1orig; v1; v1 = FcValueListNext(v1)) { for (v2 = v2orig, k = 0; v2; v2 = FcValueListNext(v2), k++) |