Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/master'
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
c59bf1d
..
37bec70
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-953,11
+953,12
@@
selcopy(void) {
/* append every set & selected glyph to the selection */
for(y = sel.nb.y; y < sel.ne.y + 1; y++) {
gp = &term.line[y][0];
/* append every set & selected glyph to the selection */
for(y = sel.nb.y; y < sel.ne.y + 1; y++) {
gp = &term.line[y][0];
- last =
gp + term.col
;
+ last =
&gp[term.col-1]
;
- while(--last >= gp && !(selected(last - gp, y) && \
- strcmp(last->c, " ") != 0))
- /* nothing */;
+ while(last >= gp && !(selected(last - gp, y) &&
+ strcmp(last->c, " ") != 0)) {
+ --last;
+ }
for(x = 0; gp <= last; x++, ++gp) {
if(!selected(x, y) || (gp->mode & ATTR_WDUMMY))
for(x = 0; gp <= last; x++, ++gp) {
if(!selected(x, y) || (gp->mode & ATTR_WDUMMY))
@@
-3297,8
+3298,6
@@
xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1,
width, 1);
}
XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1,
width, 1);
}
- XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, winx, winy, width,
- CEIL((font->ascent + font->descent) * chscale), winx, winy);
/* Reset clip to none. */
XftDrawSetClip(xw.draw, 0);
/* Reset clip to none. */
XftDrawSetClip(xw.draw, 0);
@@
-3397,6
+3396,8
@@
redraw(int timeout) {
void
draw(void) {
drawregion(0, 0, term.col, term.row);
void
draw(void) {
drawregion(0, 0, term.col, term.row);
+ XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w,
+ xw.h, 0, 0);
XSetForeground(xw.dpy, dc.gc,
dc.col[IS_SET(MODE_REVERSE)?
defaultfg : defaultbg].pixel);
XSetForeground(xw.dpy, dc.gc,
dc.col[IS_SET(MODE_REVERSE)?
defaultfg : defaultbg].pixel);