Introduction
Introduction Statistics Contact Development Disclaimer Help
tDo not save cursor in tresize. - st - [fork] customized build of st, the simpl…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 6b315558f8095b91988d5b305ed06e082da48889
parent 5f91983541014d34274087dbf723b48551f90fc0
Author: noname <[email protected]>
Date: Tue, 29 Apr 2014 02:35:22 +0400
Do not save cursor in tresize.
This patch fixes the bug introduced in
8f11e1cd034ff28ca47bb4955505db7fa8016ba8
To reproduce the bug:
1. Save cursor: printf '\e[s'
2. Load cursor: printf '\e[u'
3. Resize st window.
4. Load cursor again: printf '\e[u'
Diffstat:
M st.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/st.c b/st.c
t@@ -2634,6 +2634,7 @@ tresize(int col, int row) {
int slide = term.c.y - row + 1;
bool *bp;
Line *orig;
+ TCursor c;
if(col < 1 || row < 1)
return 0;
t@@ -2695,6 +2696,7 @@ tresize(int col, int row) {
tmoveto(term.c.x, term.c.y);
/* Clearing both screens */
orig = term.line;
+ c = term.c;
do {
if(mincol < col && 0 < minrow) {
tclearregion(mincol, 0, col - 1, minrow - 1);
t@@ -2702,10 +2704,10 @@ tresize(int col, int row) {
if(0 < col && minrow < row) {
tclearregion(0, minrow, col - 1, row - 1);
}
- tcursor(CURSOR_SAVE);
tswapscreen();
tcursor(CURSOR_LOAD);
} while(orig != term.line);
+ term.c = c;
return (slide > 0);
}
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.