summaryrefslogtreecommitdiff
path: root/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch')
-rw-r--r--x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch b/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
deleted file mode 100644
index 86e547103ad7..000000000000
--- a/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-https://git.gnome.org/browse/vte/commit/?id=88e8e89560a62d0981ce2b18974a230d0a07dbdd
-
-From 88e8e89560a62d0981ce2b18974a230d0a07dbdd Mon Sep 17 00:00:00 2001
-From: Micah Cowan <micah@cowan.name>
-Date: Tue, 22 Oct 2013 23:30:43 +0200
-Subject: widget: Fix invalidation region
-
-When the sequence handler moves the cursor into the restricted scrolling region,
-the bbox needs to be reset, too.
-Fixes glitches with interspersing writes to the bottom line with scrolls of the
-upper region, and also fixes missing screen redraws when using mosh.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=542087
-https://bugzilla.gnome.org/show_bug.cgi?id=686097
-
-diff --git a/src/vte.c b/src/vte.c
-index 9f6d7d8..a4d9d25 100644
---- a/src/vte.c
-+++ b/src/vte.c
-@@ -4077,6 +4077,7 @@ vte_terminal_process_incoming(VteTerminal *terminal)
- long wcount, start, delta;
- gboolean leftovers, modified, bottom, again;
- gboolean invalidated_text;
-+ gboolean in_scroll_region;
- GArray *unichars;
- struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
-
-@@ -4096,6 +4097,10 @@ vte_terminal_process_incoming(VteTerminal *terminal)
- cursor = screen->cursor_current;
- cursor_visible = terminal->pvt->cursor_visible;
-
-+ in_scroll_region = screen->scrolling_restricted
-+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
-+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
-+
- /* We should only be called when there's data to process. */
- g_assert(terminal->pvt->incoming ||
- (terminal->pvt->pending->len > 0));
-@@ -4194,6 +4199,8 @@ skip_chunk:
- * points to the first character which isn't part of this
- * sequence. */
- if ((match != NULL) && (match[0] != '\0')) {
-+ gboolean new_in_scroll_region;
-+
- /* Call the right sequence handler for the requested
- * behavior. */
- _vte_terminal_handle_sequence(terminal,
-@@ -4204,12 +4211,21 @@ skip_chunk:
- start = (next - wbuf);
- modified = TRUE;
-
-- /* if we have moved during the sequence handler, restart the bbox */
-+ new_in_scroll_region = screen->scrolling_restricted
-+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
-+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
-+
-+ delta = screen->scroll_delta; /* delta may have changed from sequence. */
-+
-+ /* if we have moved greatly during the sequence handler, or moved
-+ * into a scroll_region from outside it, restart the bbox.
-+ */
- if (invalidated_text &&
-- (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
-- screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
-- screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
-- screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
-+ ((new_in_scroll_region && !in_scroll_region) ||
-+ (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
-+ screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
-+ screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
-+ screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
- /* Clip off any part of the box which isn't already on-screen. */
- bbox_topleft.x = MAX(bbox_topleft.x, 0);
- bbox_topleft.y = MAX(bbox_topleft.y, delta);
-@@ -4229,6 +4245,8 @@ skip_chunk:
- bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
- bbox_topleft.x = bbox_topleft.y = G_MAXINT;
- }
-+
-+ in_scroll_region = new_in_scroll_region;
- } else
- /* Second, we have a NULL match, and next points to the very
- * next character in the buffer. Insert the character which
---
-cgit v0.10.2
-