# HG changeset patch # User Mike Sperber # Date 1414245571 -7200 # Node ID 6928877dbc26781161b655a841c000d5622079ed # Parent efb76d6d0c1d07c4ff4cb603cf3a6c4efc81e189 Fix breakage caused by previous commit. 2014-10-25 Michael Sperber * fontcolor-x.c (x_font_instance_truename): * font-mgr.c (Ffc_name_unparse): * font-mgr.h (PRINT_XFT_PATTERN, PRINT_XFT_PATTERN): Don't modify fontconfig pattern passed in in place. diff -r efb76d6d0c1d -r 6928877dbc26 src/ChangeLog --- a/src/ChangeLog Mon Oct 20 16:35:18 2014 +0900 +++ b/src/ChangeLog Sat Oct 25 15:59:31 2014 +0200 @@ -1,3 +1,10 @@ +2014-10-25 Michael Sperber + + * fontcolor-x.c (x_font_instance_truename): + * font-mgr.c (Ffc_name_unparse): + * font-mgr.h (PRINT_XFT_PATTERN): Don't modify + fontconfig pattern passed in in place. + 2014-10-18 Aidan Kehoe Some changes to eliminate warnings with Apple clang version 1.7. diff -r efb76d6d0c1d -r 6928877dbc26 src/font-mgr.c --- a/src/font-mgr.c Mon Oct 20 16:35:18 2014 +0900 +++ b/src/font-mgr.c Sat Oct 25 15:59:31 2014 +0200 @@ -266,9 +266,12 @@ CHECK_FC_PATTERN (pattern); /* #### Could use multiple values here to extract and return charset? */ - FcPatternDel (XFC_PATTERN_PTR (pattern), FC_CHARSET); - - name = FcNameUnparse (XFC_PATTERN_PTR (pattern)); + { + FcPattern* temp = FcPatternDuplicate (XFC_PATTERN_PTR (pattern)); + FcPatternDel (temp, FC_CHARSET); + name = FcNameUnparse (XFC_PATTERN_PTR (pattern)); + FcPatternDestroy (temp); + } result = build_fcapi_string (name); xfree (name); return result; diff -r efb76d6d0c1d -r 6928877dbc26 src/font-mgr.h --- a/src/font-mgr.h Mon Oct 20 16:35:18 2014 +0900 +++ b/src/font-mgr.h Sat Oct 25 15:59:31 2014 +0200 @@ -145,8 +145,10 @@ do { \ DECLARE_EISTRING (eistrpxft_name); \ Extbyte *name; \ - FcPatternDel(pattern, FC_CHARSET); \ - name = (Extbyte *) FcNameUnparse (pattern); \ + FcPattern* temp = FcPatternDuplicate (pattern); \ + FcPatternDel (temp, FC_CHARSET); \ + name = (Extbyte *) FcNameUnparse (temp); \ + FcPatternDestroy (temp); \ eicpy_ext(eistrpxft_name, \ name ? name : "FONT WITH NULL NAME", \ Qfc_font_name_encoding); \ diff -r efb76d6d0c1d -r 6928877dbc26 src/fontcolor-x.c --- a/src/fontcolor-x.c Mon Oct 20 16:35:18 2014 +0900 +++ b/src/fontcolor-x.c Sat Oct 25 15:59:31 2014 +0200 @@ -763,8 +763,12 @@ "Xft font present but lacks pattern", wrap_font_instance(f), Qfont, errb); } - FcPatternDel (pattern, FC_CHARSET); /* FcNameUnparse may choke */ - res = FcNameUnparse (pattern); + { + FcPattern* temp = FcPatternDuplicate (pattern); + FcPatternDel (temp, FC_CHARSET); /* FcNameUnparse may choke */ + res = FcNameUnparse (temp); + FcPatternDestroy (temp); + } if (res) { FONT_INSTANCE_TRUENAME (f) =