diff options
author | marha <marha@users.sourceforge.net> | 2012-03-28 12:32:32 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-28 12:32:32 +0200 |
commit | 5bcf6bf5c39ca7077ed337a7b22797211a3a3fb9 (patch) | |
tree | 6bc8ab012f89a68d99be5e23f04eeca30c9ee18d /fontconfig/src/fclist.c | |
parent | 13ab72df2e606427985cd6dcf7db694f4243936b (diff) | |
parent | 992585b1df5c2d96a2cfac3835afbe818a13165f (diff) | |
download | vcxsrv-5bcf6bf5c39ca7077ed337a7b22797211a3a3fb9.tar.gz vcxsrv-5bcf6bf5c39ca7077ed337a7b22797211a3a3fb9.tar.bz2 vcxsrv-5bcf6bf5c39ca7077ed337a7b22797211a3a3fb9.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'fontconfig/src/fclist.c')
-rw-r--r-- | fontconfig/src/fclist.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fontconfig/src/fclist.c b/fontconfig/src/fclist.c index 9a84b5c7e..88025e900 100644 --- a/fontconfig/src/fclist.c +++ b/fontconfig/src/fclist.c @@ -67,13 +67,16 @@ FcObjectSetAdd (FcObjectSet *os, const char *object) low = 0; mid = 0; c = 1; - object = (char *)FcStrStaticName ((FcChar8 *)object); + object = (char *)FcSharedStr ((FcChar8 *)object); while (low <= high) { mid = (low + high) >> 1; c = os->objects[mid] - object; if (c == 0) + { + FcSharedStrFree ((FcChar8 *)object); return FcTrue; + } if (c < 0) low = mid + 1; else @@ -91,8 +94,13 @@ FcObjectSetAdd (FcObjectSet *os, const char *object) void FcObjectSetDestroy (FcObjectSet *os) { + int i; + if (os->objects) { + for (i = 0; i < os->nobject; i++) + FcSharedStrFree ((FcChar8 *)os->objects[i]); + FcMemFree (FC_MEM_OBJECTPTR, os->sobject * sizeof (const char *)); free ((void *) os->objects); } |