diff options
author | ehaupt <ehaupt@FreeBSD.org> | 2015-03-27 06:53:16 +0800 |
---|---|---|
committer | ehaupt <ehaupt@FreeBSD.org> | 2015-03-27 06:53:16 +0800 |
commit | c368e7e50eaaf0d8bc91739aac58d9e5b1c1e291 (patch) | |
tree | 8f24ff640dd2e2da00227357b0155f4fb5315e96 /x11 | |
parent | 3990003806f70dfa8c675d2404ca4c98f4aca600 (diff) | |
download | freebsd-ports-gnome-c368e7e50eaaf0d8bc91739aac58d9e5b1c1e291.tar.gz freebsd-ports-gnome-c368e7e50eaaf0d8bc91739aac58d9e5b1c1e291.tar.zst freebsd-ports-gnome-c368e7e50eaaf0d8bc91739aac58d9e5b1c1e291.zip |
Fix an other cursor related regression introduced with 315. This patch will be
merged upstream.
Notified by: naddy
Obtained from: dickey@his.com (author)
Diffstat (limited to 'x11')
-rw-r--r-- | x11/xterm/Makefile | 1 | ||||
-rw-r--r-- | x11/xterm/files/patch-screen.c | 42 |
2 files changed, 43 insertions, 0 deletions
diff --git a/x11/xterm/Makefile b/x11/xterm/Makefile index b05eb0d0f045..20e19422b41b 100644 --- a/x11/xterm/Makefile +++ b/x11/xterm/Makefile @@ -3,6 +3,7 @@ PORTNAME= xterm PORTVERSION= 316 +PORTREVISION= 1 CATEGORIES= x11 MASTER_SITES= ftp://invisible-island.net/xterm/:src1 \ LOCAL/ehaupt:src1 LOCAL/ehaupt:src2 diff --git a/x11/xterm/files/patch-screen.c b/x11/xterm/files/patch-screen.c new file mode 100644 index 000000000000..c05a6e14e6db --- /dev/null +++ b/x11/xterm/files/patch-screen.c @@ -0,0 +1,42 @@ +--- screen.c.orig 2015-03-07 01:19:23 UTC ++++ screen.c +@@ -1,4 +1,4 @@ +-/* $XTermId: screen.c,v 1.510 2015/03/07 01:19:23 tom Exp $ */ ++/* $XTermId: screen.c,v 1.512 2015/03/22 14:47:02 tom Exp $ */ + + /* + * Copyright 1999-2014,2015 by Thomas E. Dickey +@@ -1248,7 +1248,7 @@ ScrnInsertChar(XtermWidget xw, unsigned + + TScreen *screen = TScreenOf(xw); + int first = ScrnLeftMargin(xw); +- int last = ScrnRightMargin(xw) + 1; ++ int last = ScrnRightMargin(xw); + int row = screen->cur_row; + int col = screen->cur_col; + int j; +@@ -1258,13 +1258,13 @@ ScrnInsertChar(XtermWidget xw, unsigned + TRACE(("ScrnInsertChar - col %d outside [%d..%d]\n", col, first, last)); + return; + } else if (last < (col + (int) n)) { +- n = (unsigned) (last - col); ++ n = (unsigned) (last + 1 - col); + } + + assert(screen->cur_col >= 0); + assert(screen->cur_row >= 0); + assert((int) n >= 0); +- assert(last >= (int) n); ++ assert((last + 1) >= (int) n); + + if_OPT_WIDE_CHARS(screen, { + int xx = screen->cur_row; +@@ -1273,7 +1273,7 @@ ScrnInsertChar(XtermWidget xw, unsigned + if (DamagedCells(screen, n, &kl, (int *) 0, xx, kr) && kr > kl) { + ClearCells(xw, 0, (unsigned) (kr - kl + 1), row, kl); + } +- kr = last - (int) n; ++ kr = last - (int) n + 1; + if (DamagedCells(screen, n, &kl, (int *) 0, xx, kr) && kr > kl) { + ClearCells(xw, 0, (unsigned) (kr - kl + 1), row, kl); + } |