commit - 7d19b2055d98e5c0249efe582c852b8b8b30cd41
commit + 65be875f5adf31e9c4762ac8a8d74b1dfdd78584
blob - d0c6d642a21e048e8065666e3ab2aca53195a048
blob + 6ed8ad37458a12101c51751730cff4faed4690fd
--- LICENSE
+++ LICENSE
MIT/X Consortium License
-© 2006-2014 Anselm R Garbe <anselm@garbe.us>
+© 2006-2019 Anselm R Garbe <anselm@garbe.ca>
© 2006-2008 Sander van Dijk <a.h.vandijk@gmail.com>
© 2006-2007 Michał Janeczek <janeczek@gmail.com>
© 2007 Kris Maglione <jg@suckless.org>
© 2009 Markus Schnalke <meillo@marmaro.de>
© 2009 Evan Gates <evan.gates@gmail.com>
© 2010-2012 Connor Lane Smith <cls@lubutu.com>
-© 2014-2018 Hiltjo Posthuma <hiltjo@codemadness.org>
+© 2014-2019 Hiltjo Posthuma <hiltjo@codemadness.org>
© 2015-2018 Quentin Rameau <quinq@fifth.space>
Permission is hereby granted, free of charge, to any person obtaining a
blob - ae34ad89769787c9c370ea27b380fe3ac23ca49c
blob + 0929b4a48125be9213dbd38dff8c38be0d5ebcc4
--- config.mk
+++ config.mk
# dmenu version
-VERSION = 4.8
+VERSION = 4.9
# paths
PREFIX = /usr/local
blob - c638323193061df01a03e82f12e9bc9aad60f7ce
blob + 8fd1ca4c5a8257ca9f4813cd651b38250e2feac0
--- drw.c
+++ drw.c
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;
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++)
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);