Blob Blame History Raw
From c22908828fb2dbfdf38733d119adc1cf5fe00173 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Sat, 10 Feb 2024 00:20:54 +0900
Subject: [PATCH 1/2] Clean up .uuid files with fc-cache -f too

.uuid file was obsoleted >5 years ago and it was supposed to
be cleaned up by fc-cache -r but not -f.
This change tries to clean it up by fc-cache -f.

https://bugzilla.redhat.com/show_bug.cgi?id=1761885
---
 src/fcdir.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/fcdir.c b/src/fcdir.c
index 6f7b3835..2e4fdc69 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -234,7 +234,7 @@ FcDirScanConfig (FcFontSet	*set,
 
     if (FcDebug () & FC_DBG_SCAN)
 	printf ("\tScanning dir %s\n", s_dir);
-	
+
     d = opendir ((char *) s_dir);
     if (!d)
     {
@@ -459,7 +459,10 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config)
 
     /* Not using existing cache file, construct new cache */
     if (!cache)
+    {
+	FcDirCacheDeleteUUID (dir, config);
 	cache = FcDirCacheScan (dir, config);
+    }
     FcConfigDestroy (config);
 
     return cache;
-- 
2.43.0

From a76b95105ca26c600279b2daf4bd43b37a918823 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Sat, 10 Feb 2024 02:15:45 +0900
Subject: [PATCH 2/2] Fix undesired unref of FcConfig on Win32

---
 src/fccache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/fccache.c b/src/fccache.c
index cebbb810..54f76ac1 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -106,8 +106,8 @@ FcDirCacheDeleteUUID (const FcChar8  *dir,
     FcStrFree (target);
 bail:
     FcStrFree (d);
-#endif
     FcConfigDestroy (config);
+#endif
 
     return ret;
 }
-- 
2.43.0