Prepare 6.2 release. - dwm - dynamic window manager
 (HTM) git clone https://git.parazyd.org/dwm
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit cb3f58ad06993f7ef3a7d8f61468012e2b786cab
 (DIR) parent b69c870a3076d78ab595ed1cd4b41cf6b03b2610
 (HTM) Author: Anselm R Garbe <anselm@garbe.ca>
       Date:   Sat,  2 Feb 2019 04:50:42 -0800
       
       Prepare 6.2 release.
       
       Diffstat:
         M LICENSE                             |       2 +-
         M config.mk                           |       2 +-
         M drw.c                               |      16 +++++++++++++++-
       
       3 files changed, 17 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/LICENSE b/LICENSE
       @@ -1,6 +1,6 @@
        MIT/X Consortium License
        
       -© 2006-2017 Anselm R Garbe <anselm@garbe.us>
       +© 2006-2019 Anselm R Garbe <anselm@garbe.ca>
        © 2006-2009 Jukka Salmi <jukka at salmi dot ch>
        © 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
        © 2007-2011 Peter Hartlich <sgkkr at hartlich dot com>
 (DIR) diff --git a/config.mk b/config.mk
       @@ -1,5 +1,5 @@
        # dwm version
       -VERSION = 6.1
       +VERSION = 6.2
        
        # Customize below to fit your system
        
 (DIR) diff --git a/drw.c b/drw.c
       @@ -132,6 +132,19 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern)
                        die("no font specified.");
                }
        
       +        /* Do not allow using color fonts. This is a workaround for a BadLength
       +         * error from Xft with color glyphs. Modelled on the Xterm workaround. See
       +         * https://bugzilla.redhat.com/show_bug.cgi?id=1498269
       +         * https://lists.suckless.org/dev/1701/30932.html
       +         * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
       +         * and lots more all over the internet.
       +         */
       +        FcBool iscol;
       +        if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
       +                XftFontClose(drw->dpy, xfont);
       +                return NULL;
       +        }
       +
                font = ecalloc(1, sizeof(Fnt));
                font->xfont = xfont;
                font->pattern = pattern;
       @@ -200,7 +213,7 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount)
                Clr *ret;
        
                /* need at least two colors for a scheme */
       -        if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(Clr))))
       +        if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor))))
                        return NULL;
        
                for (i = 0; i < clrcount; i++)
       @@ -337,6 +350,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp
                                fcpattern = FcPatternDuplicate(drw->fonts->pattern);
                                FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset);
                                FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
       +                        FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);
        
                                FcConfigSubstitute(NULL, fcpattern, FcMatchPattern);
                                FcDefaultSubstitute(fcpattern);