selection: update: simplify: multi-column chars don’t span line-wraps

This commit is contained in:
Daniel Eklöf 2021-01-03 15:37:51 +01:00
parent 2b195d2cc3
commit fb9a95494d
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -620,13 +620,11 @@ selection_update(struct terminal *term, int col, int row)
keep_going = wc == CELL_MULT_COL_SPACER; keep_going = wc == CELL_MULT_COL_SPACER;
if (pivot_end->col == 0) { /* Multi-col chars shouldnt span line-wraps */
if (pivot_end->row > 0) { assert(pivot_end->col > 0);
pivot_end->col = term->cols - 1; if (pivot_end->col == 0)
pivot_end->row--; break;
} pivot_end->col--;
} else
pivot_end->col--;
} }
} else { } else {
bool keep_going = true; bool keep_going = true;
@ -637,13 +635,9 @@ selection_update(struct terminal *term, int col, int row)
keep_going = wc == CELL_MULT_COL_SPACER; keep_going = wc == CELL_MULT_COL_SPACER;
if (pivot_start->col >= term->cols - 1) { if (pivot_start->col >= term->cols - 1)
if (pivot_start->row < term->rows - 1) { break;
pivot_start->col = 0; pivot_start->col++;
pivot_start->row++;
}
} else
pivot_start->col++;
} }
} }