diff options
author | Saumit Dinesan <justsaumit@protonmail.com> | 2022-10-07 03:36:35 +0530 |
---|---|---|
committer | Saumit Dinesan <justsaumit@protonmail.com> | 2022-10-07 03:36:35 +0530 |
commit | d2cb1d60c7eedb2b339221318c993ba35789eecf (patch) | |
tree | b8e8e4f2b92a529fcd8d635f7146d30927f0e9bc /drw.c | |
parent | b915db4f2fcb3486e3a22fbe51ac7739e01507c1 (diff) |
dwm-6.3
Diffstat (limited to 'drw.c')
-rw-r--r-- | drw.c | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -133,6 +133,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; @@ -195,7 +208,7 @@ drw_clr_create(Drw *drw, Clr *dest, const char *clrname) /* Wrapper to create color schemes. The caller has to call free(3) on the * returned color scheme when done using it. */ Clr * -drw_scm_create(Drw *drw, char *clrnames[], size_t clrcount) +drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount) { size_t i; Clr *ret; |