patch Pango to handle font-info failure
Getting NULL from CTFontCollectionCreateMatchingFontDescriptors() might indicate a font installation problem; I'm not sure. In any case, checking for NULL avoids a crash on at least one installation.
This commit is contained in:
parent
4d9c5d8dd2
commit
e94b07b3aa
|
@ -128,6 +128,9 @@
|
||||||
;; Support registration of extra font families:
|
;; Support registration of extra font families:
|
||||||
(define-runtime-path coretext-fontreg-patch "patches/coretext-fontreg.patch")
|
(define-runtime-path coretext-fontreg-patch "patches/coretext-fontreg.patch")
|
||||||
|
|
||||||
|
;; Avoid crash when CTFontCollectionCreateMatchingFontDescriptors fails:
|
||||||
|
(define-runtime-path coretext-nullarray "patches/coretext-nullarray.patch")
|
||||||
|
|
||||||
;; Enable "symbol" fonts, and fix off-by-one:
|
;; Enable "symbol" fonts, and fix off-by-one:
|
||||||
(define-runtime-path win32text-patch "patches/win32text.patch")
|
(define-runtime-path win32text-patch "patches/win32text.patch")
|
||||||
|
|
||||||
|
@ -441,6 +444,7 @@
|
||||||
"--with-dynamic-modules=no"))
|
"--with-dynamic-modules=no"))
|
||||||
#:patches (list coretext-patch
|
#:patches (list coretext-patch
|
||||||
coretext-fontreg-patch
|
coretext-fontreg-patch
|
||||||
|
coretext-nullarray
|
||||||
win32text-patch))]
|
win32text-patch))]
|
||||||
[("gmp") (config #:patches (if gcc-4.0? (list gmp-weak-patch) null)
|
[("gmp") (config #:patches (if gcc-4.0? (list gmp-weak-patch) null)
|
||||||
#:configure (append
|
#:configure (append
|
||||||
|
|
21
racket/src/native-libs/patches/coretext-nullarray.patch
Normal file
21
racket/src/native-libs/patches/coretext-nullarray.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
diff -r -u old/pango-1.36.6/pango/pangocoretext-fontmap.c new/pango-1.36.6/pango/pangocoretext-fontmap.c
|
||||||
|
--- old/pango-1.36.6/pango/pangocoretext-fontmap.c 2015-11-07 08:15:41.000000000 -0700
|
||||||
|
+++ new/pango-1.36.6/pango/pangocoretext-fontmap.c 2015-11-07 08:16:56.000000000 -0700
|
||||||
|
@@ -649,7 +649,7 @@
|
||||||
|
|
||||||
|
italic_faces = g_hash_table_new (g_direct_hash, g_direct_equal);
|
||||||
|
|
||||||
|
- count = CFArrayGetCount (ctfaces);
|
||||||
|
+ count = (ctfaces ? CFArrayGetCount (ctfaces) : 0);
|
||||||
|
for (i = 0; i < count; i++)
|
||||||
|
{
|
||||||
|
PangoCoreTextFace *face;
|
||||||
|
@@ -669,7 +669,7 @@
|
||||||
|
|
||||||
|
CFRelease (font_descriptors);
|
||||||
|
CFRelease (attributes);
|
||||||
|
- CFRelease (ctfaces);
|
||||||
|
+ if (ctfaces) CFRelease (ctfaces);
|
||||||
|
|
||||||
|
/* For all fonts for which a non-synthetic italic variant does
|
||||||
|
* not exist on the system, we create synthesized versions here.
|
Loading…
Reference in New Issue
Block a user