diff options
author | jjacky | 2013-02-27 21:31:22 +0100 |
---|---|---|
committer | Olivier Brunel | 2015-06-08 19:16:27 +0200 |
commit | e9db0fd447589a8cd9c6b30ab08504beacdb0028 (patch) | |
tree | 92bd9dc4766b91d768fabac0f3f6e851cbc6d371 | |
parent | 2acc6047541d79d6c43a5f8e81ee502f83f1d614 (diff) | |
download | aur-e9db0fd447589a8cd9c6b30ab08504beacdb0028.tar.gz |
rxvt-unicode-better-wheel-scrolling: Fix FS#33466 & FS#33241
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | 01-fix-screen-sel.patch | 66 | ||||
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | rxvt-unicode.desktop | 3 |
4 files changed, 81 insertions, 9 deletions
@@ -1,7 +1,7 @@ pkgbase = rxvt-unicode-better-wheel-scrolling pkgdesc = An unicode enabled rxvt-clone terminal emulator (urxvt) w/ better wheel scrolling (VTE-like) (& no utmp/wtmp support) pkgver = 9.16 - pkgrel = 1 + pkgrel = 2 url = http://software.schmorp.de/pkg/rxvt-unicode.html arch = i686 arch = x86_64 @@ -14,14 +14,17 @@ pkgbase = rxvt-unicode-better-wheel-scrolling conflicts = rxvt-unicode source = http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.16.tar.bz2 source = rxvt-unicode.desktop + source = 01-fix-screen-sel.patch source = clear.patch source = secondaryWheel.patch md5sums = 2e2942e8367624affebc0568e3671b66 - md5sums = 3de6c13126a45bc3bc9f6bba077a1311 + md5sums = 4723fc20ed200c86caf8c8680a1be26b + md5sums = 628dbe743155ddad49c8a1cac3b1bd7f md5sums = cd307bca4920050db4d6d2fe8058e905 md5sums = 5cbfc7e25f807d461d577383f9f7a97c sha1sums = 1b721969d6a6ed0f84529a29cfff0a05aee015ab - sha1sums = 962aebc88982dbeb62a7c4a051ff567e015f61a0 + sha1sums = d4eea2dd1834b596c715ec9ea239e70788f49a8f + sha1sums = c722c56dc9d2dd88a420fae19bcd6b1604876929 sha1sums = 8a166a8e50f9b7400582e2d665986f46c8297a87 sha1sums = 908c2ea08592c46e7071012d7e9a09595310ca38 diff --git a/01-fix-screen-sel.patch b/01-fix-screen-sel.patch new file mode 100644 index 000000000000..46627f16060f --- /dev/null +++ b/01-fix-screen-sel.patch @@ -0,0 +1,66 @@ +--- a/src/rxvt.h 2012-11-30 07:52:10.000000000 +0100 ++++ b/src/rxvt.h 2013-01-19 18:14:07.477653413 +0100 +@@ -1488,6 +1488,7 @@ + void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW; + void scr_kill_char (line_t &l, int col) const NOTHROW; + int scr_scroll_text (int row1, int row2, int count) NOTHROW; ++ void copy_line (line_t &dst, line_t &src); + void scr_reset (); + void scr_release () NOTHROW; + void scr_clear (bool really = false) NOTHROW; +--- a/src/screen.C 2012-11-30 08:13:38.000000000 +0100 ++++ b/src/screen.C 2013-01-19 18:17:13.431014964 +0100 +@@ -190,6 +190,16 @@ + row_buf = swap_buf + nrow; + } + ++void ++rxvt_term::copy_line (line_t &dst, line_t &src) ++{ ++ scr_blank_screen_mem (dst, DEFAULT_RSTYLE); ++ dst.l = min (src.l, ncol); ++ memcpy (dst.t, src.t, sizeof (text_t) * dst.l); ++ memcpy (dst.r, src.r, sizeof (rend_t) * dst.l); ++ dst.f = src.f; ++} ++ + void ecb_cold + rxvt_term::scr_reset () + { +@@ -232,8 +242,6 @@ + line_t *prev_swap_buf = swap_buf; + line_t *prev_row_buf = row_buf; + +- int common_col = min (prev_ncol, ncol); +- + scr_alloc (); + + if (!prev_row_buf) +@@ -277,13 +285,8 @@ + + for (int row = min (nrow, prev_nrow); row--; ) + { +- scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE); +- scr_blank_screen_mem (swap_buf [row], DEFAULT_RSTYLE); +- +- memcpy (drawn_buf [row].t, prev_drawn_buf [row].t, sizeof (text_t) * common_col); +- memcpy (drawn_buf [row].r, prev_drawn_buf [row].r, sizeof (rend_t) * common_col); +- memcpy (swap_buf [row].t, prev_swap_buf [row].t, sizeof (text_t) * common_col); +- memcpy (swap_buf [row].r, prev_swap_buf [row].r, sizeof (rend_t) * common_col); ++ copy_line (drawn_buf [row], prev_drawn_buf [row]); ++ copy_line (swap_buf [row], prev_swap_buf [row]); + } + + int p = MOD (term_start + prev_nrow, prev_total_rows); // previous row +@@ -388,10 +391,7 @@ + line_t &src = prev_row_buf [MOD (term_start + row, prev_total_rows)]; + line_t &dst = row_buf [row]; + +- scr_blank_screen_mem (dst, DEFAULT_RSTYLE); +- +- memcpy (dst.t, src.t, sizeof (text_t) * common_col); +- memcpy (dst.r, src.r, sizeof (rend_t) * common_col); ++ copy_line (dst, src); + } + + for (int row = prev_nrow; row < nrow; row++) @@ -8,7 +8,7 @@ _pkgname=rxvt-unicode pkgname=${_pkgname}-better-wheel-scrolling pkgver=9.16 -pkgrel=1 +pkgrel=2 pkgdesc="An unicode enabled rxvt-clone terminal emulator (urxvt) w/ better wheel scrolling (VTE-like) (& no utmp/wtmp support)" arch=('i686' 'x86_64') url="http://software.schmorp.de/pkg/rxvt-unicode.html" @@ -19,13 +19,16 @@ provides=('rxvt-unicode=9.15') conflicts=('rxvt-unicode') source=(http://dist.schmorp.de/rxvt-unicode/${_pkgname}-${pkgver}.tar.bz2 \ ${_pkgname}.desktop - clear.patch secondaryWheel.patch) + 01-fix-screen-sel.patch + clear.patch secondaryWheel.patch) md5sums=('2e2942e8367624affebc0568e3671b66' - '3de6c13126a45bc3bc9f6bba077a1311' + '4723fc20ed200c86caf8c8680a1be26b' + '628dbe743155ddad49c8a1cac3b1bd7f' 'cd307bca4920050db4d6d2fe8058e905' '5cbfc7e25f807d461d577383f9f7a97c') sha1sums=('1b721969d6a6ed0f84529a29cfff0a05aee015ab' - '962aebc88982dbeb62a7c4a051ff567e015f61a0' + 'd4eea2dd1834b596c715ec9ea239e70788f49a8f' + 'c722c56dc9d2dd88a420fae19bcd6b1604876929' '8a166a8e50f9b7400582e2d665986f46c8297a87' '908c2ea08592c46e7071012d7e9a09595310ca38') @@ -33,6 +36,7 @@ build() { cd "${srcdir}/${_pkgname}-${pkgver}" patch -p1 -i ../clear.patch patch -p1 -i ../secondaryWheel.patch + patch -p1 -i ../01-fix-screen-sel.patch ./configure --prefix=/usr \ --with-terminfo=/usr/share/terminfo \ --enable-256-color \ diff --git a/rxvt-unicode.desktop b/rxvt-unicode.desktop index 68d613dbd60c..faf64ee55ed2 100644 --- a/rxvt-unicode.desktop +++ b/rxvt-unicode.desktop @@ -1,10 +1,9 @@ [Desktop Entry] Version=1.0 -Encoding=UTF-8 Name=rxvt-unicode Comment=An Unicode capable rxvt clone Exec=urxvt Icon=terminal Terminal=false Type=Application -Categories=Application;System;TerminalEmulator; +Categories=System;TerminalEmulator; |