X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/ecac5ee35ef006001b280461ed3f9812d855250c..39ae1a4de5c471c8626c80ef1e961f0c83f5199d:/st.c diff --git a/st.c b/st.c index b2bcfe9..79bf1c8 100644 --- a/st.c +++ b/st.c @@ -944,7 +944,7 @@ getsel(void) { ptr = str = xmalloc(bufsize); /* append every set & selected glyph to the selection */ - for(y = sel.nb.y; y < sel.ne.y + 1; y++) { + for(y = sel.nb.y; y <= sel.ne.y; y++) { linelen = tlinelen(y); if(sel.type == SEL_RECTANGULAR) { @@ -2779,18 +2779,16 @@ tresize(int col, int row) { return; } - /* free unneeded rows */ - i = 0; + /* + * slide screen to keep cursor where we expect it - + * tscrollup would work here, but we can optimize to + * memmove because we're freeing the earlier lines + */ + for(i = 0; i < slide; i++) { + free(term.line[i]); + free(term.alt[i]); + } if(slide > 0) { - /* - * slide screen to keep cursor where we expect it - - * tscrollup would work here, but we can optimize to - * memmove because we're freeing the earlier lines - */ - for(/* i = 0 */; i < slide; i++) { - free(term.line[i]); - free(term.alt[i]); - } memmove(term.line, term.line + slide, row * sizeof(Line)); memmove(term.alt, term.alt + slide, row * sizeof(Line)); } @@ -3917,17 +3915,13 @@ run(void) { long deltatime; /* Waiting for window mapping */ - while(1) { + do { XNextEvent(xw.dpy, &ev); - if(XFilterEvent(&ev, None)) - continue; if(ev.type == ConfigureNotify) { w = ev.xconfigure.width; h = ev.xconfigure.height; - } else if(ev.type == MapNotify) { - break; } - } + } while(ev.type != MapNotify); ttynew(); cresize(w, h);