浏览代码

applied Martin Hurton's drawtext() patch

Anselm R Garbe 17 年之前
父节点
当前提交
97699e5b1b
共有 1 个文件被更改,包括 2 次插入3 次删除
  1. 2 3
      dwm.c

+ 2 - 3
dwm.c

@@ -577,15 +577,14 @@ drawtext(const char *text, unsigned long col[ColLast], Bool invert) {
 	if(!text)
 	if(!text)
 		return;
 		return;
 	olen = strlen(text);
 	olen = strlen(text);
-	len = MIN(olen, sizeof buf);
-	memcpy(buf, text, len);
 	h = dc.font.ascent + dc.font.descent;
 	h = dc.font.ascent + dc.font.descent;
 	y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
 	y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
 	x = dc.x + (h / 2);
 	x = dc.x + (h / 2);
 	/* shorten text if necessary */
 	/* shorten text if necessary */
-	for(; len && (i = textnw(buf, len)) > dc.w - h; len--);
+	for(len = MIN(olen, sizeof buf); len && (i = textnw(buf, len)) > dc.w - h; len--);
 	if(!len)
 	if(!len)
 		return;
 		return;
+	memcpy(buf, text, len);
 	if(len < olen)
 	if(len < olen)
 		for(i = len; i && i > len - 3; buf[--i] = '.');
 		for(i = len; i && i > len - 3; buf[--i] = '.');
 	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
 	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);