Introduction
Introduction Statistics Contact Development Disclaimer Help
tFix selecting clearing and BCE - st - [fork] customized build of st, the simpl…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 048c54fd5b275ac54d7819020485b77e99fcc469
parent 6b03bb769a105f797bce40aa0258cf035266e7bf
Author: Roberto E. Vargas Caballero <[email protected]>
Date: Tue, 23 Apr 2013 20:34:52 +0200
Fix selecting clearing and BCE
The commit b78c5085f72 changed the st behaviour enabling BCE capability,
tthat means erase regions using background color. Problem comes when you
clear a region with a selection, because in this case the real mode of the
Glyph is not the value of term.line[y][x], due in drawregion we had enabled
tthe ATTR_REVERSE bit.
Signed-off-by: Christoph Lohmann <[email protected]>
Diffstat:
M st.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/st.c b/st.c
t@@ -1410,7 +1410,7 @@ tsetchar(char *c, Glyph *attr, int x, int y) {
void
tclearregion(int x1, int y1, int x2, int y2) {
- int x, y, temp;
+ int x, y, temp, mask;
if(x1 > x2)
temp = x1, x1 = x2, x2 = temp;
t@@ -1425,7 +1425,9 @@ tclearregion(int x1, int y1, int x2, int y2) {
for(y = y1; y <= y2; y++) {
term.dirty[y] = 1;
for(x = x1; x <= x2; x++) {
+ mask = selected(x, y) ? ATTR_REVERSE : 0;
term.line[y][x] = term.c.attr;
+ term.line[y][x].mode ^= mask;
memcpy(term.line[y][x].c, " ", 2);
}
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.