[vte/vte-0-40] emulation: Fix vertical positioning after resize in some rare cases
- From: Egmont Koblinger <egmontkob src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte/vte-0-40] emulation: Fix vertical positioning after resize in some rare cases
- Date: Mon, 30 Mar 2015 21:25:42 +0000 (UTC)
commit 0e6769ca811e7338b013a2d60d8e3b3145c6b981
Author: Egmont Koblinger <egmont gmail com>
Date: Mon Mar 30 23:19:46 2015 +0200
emulation: Fix vertical positioning after resize in some rare cases
https://bugzilla.gnome.org/show_bug.cgi?id=747059
(cherry picked from commit 41d2e152878cc35d78a4dd8feb7cad52f088cdf9)
doc/rewrap.txt | 10 +++++-----
src/vte.c | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/doc/rewrap.txt b/doc/rewrap.txt
index 35bc2c8..7159248 100644
--- a/doc/rewrap.txt
+++ b/doc/rewrap.txt
@@ -253,14 +253,14 @@ the lines (if necessary) after rewrapping, but before computing the new
scrollbar offsets, and we drop the highest number of lines that satisfies all
these three conditions:
- - We shouldn't drop more lines than necessary to fit the content without
- scrollbars.
+ - drop1: We shouldn't drop more lines than necessary to fit the content
+ without scrollbars.
- - We should only drop data that's below the cursor's paragraph. (We don't
- drop data that is under the cursor's row, but belongs to the same
+ - drop2: We should only drop data that's below the cursor's paragraph. (We
+ don't drop data that is under the cursor's row, but belongs to the same
paragraph).
- - We track the character cell that immediately follows the cursor's
+ - drop3: We track the character cell that immediately follows the cursor's
paragraph (that is, the line after this paragraph, first column), and see
how much it would get closer to the top of the window (assuming viewport is
scrolled to the bottom). The original bug is about that the cursor
diff --git a/src/vte.c b/src/vte.c
index 22a369e..68f7167 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -7846,7 +7846,7 @@ vte_terminal_screen_set_size(VteTerminal *terminal, VteScreen *screen, glong old
screen->insert_delta = _vte_ring_next(ring) - terminal->pvt->row_count;
new_top_lines = below_current_paragraph.row - screen->insert_delta;
drop1 = _vte_ring_length(ring) - terminal->pvt->row_count;
- drop2 = _vte_ring_length(ring) - below_current_paragraph.row;
+ drop2 = _vte_ring_next(ring) - below_current_paragraph.row;
drop3 = old_top_lines - new_top_lines;
drop = MIN(MIN(drop1, drop2), drop3);
if (drop > 0) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]