Prepared 4.9 release. 65be875f
Anselm R Garbe · 2019-02-02 04:54 3 file(s) · +18 −4
LICENSE +2 −2
1 1
MIT/X Consortium License
2 2
3 -
© 2006-2014 Anselm R Garbe <anselm@garbe.us>
3 +
© 2006-2019 Anselm R Garbe <anselm@garbe.ca>
4 4
© 2006-2008 Sander van Dijk <a.h.vandijk@gmail.com>
5 5
© 2006-2007 Michał Janeczek <janeczek@gmail.com>
6 6
© 2007 Kris Maglione <jg@suckless.org>
8 8
© 2009 Markus Schnalke <meillo@marmaro.de>
9 9
© 2009 Evan Gates <evan.gates@gmail.com>
10 10
© 2010-2012 Connor Lane Smith <cls@lubutu.com>
11 -
© 2014-2018 Hiltjo Posthuma <hiltjo@codemadness.org>
11 +
© 2014-2019 Hiltjo Posthuma <hiltjo@codemadness.org>
12 12
© 2015-2018 Quentin Rameau <quinq@fifth.space>
13 13
14 14
Permission is hereby granted, free of charge, to any person obtaining a
config.mk +1 −1
1 1
# dmenu version
2 -
VERSION = 4.8
2 +
VERSION = 4.9
3 3
4 4
# paths
5 5
PREFIX = /usr/local
drw.c +15 −1
132 132
		die("no font specified.");
133 133
	}
134 134
135 +
	/* Do not allow using color fonts. This is a workaround for a BadLength
136 +
	 * error from Xft with color glyphs. Modelled on the Xterm workaround. See
137 +
	 * https://bugzilla.redhat.com/show_bug.cgi?id=1498269
138 +
	 * https://lists.suckless.org/dev/1701/30932.html
139 +
	 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
140 +
	 * and lots more all over the internet.
141 +
	 */
142 +
	FcBool iscol;
143 +
	if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
144 +
		XftFontClose(drw->dpy, xfont);
145 +
		return NULL;
146 +
	}
147 +
135 148
	font = ecalloc(1, sizeof(Fnt));
136 149
	font->xfont = xfont;
137 150
	font->pattern = pattern;
200 213
	Clr *ret;
201 214
202 215
	/* need at least two colors for a scheme */
203 -
	if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(Clr))))
216 +
	if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor))))
204 217
		return NULL;
205 218
206 219
	for (i = 0; i < clrcount; i++)
337 350
			fcpattern = FcPatternDuplicate(drw->fonts->pattern);
338 351
			FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset);
339 352
			FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
353 +
			FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);
340 354
341 355
			FcConfigSubstitute(NULL, fcpattern, FcMatchPattern);
342 356
			FcDefaultSubstitute(fcpattern);