r33465 - in /desktop/experimental/vte3/debian: changelog patches/03_scroll_region_updates.patch patches/series
mpitt at users.alioth.debian.org
mpitt at users.alioth.debian.org
Wed Mar 21 09:44:27 UTC 2012
Author: mpitt
Date: Wed Mar 21 09:44:27 2012
New Revision: 33465
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=33465
Log:
Add 03_scroll_region_updates.patch: Fix glitches with interspersing writes
to the bottom line with scrolls of the upper region. Patch taken from
Ubuntu package. (GNOME #542087, LP: #246701)
Added:
desktop/experimental/vte3/debian/patches/03_scroll_region_updates.patch
Modified:
desktop/experimental/vte3/debian/changelog
desktop/experimental/vte3/debian/patches/series
Modified: desktop/experimental/vte3/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/vte3/debian/changelog?rev=33465&op=diff
==============================================================================
--- desktop/experimental/vte3/debian/changelog [utf-8] (original)
+++ desktop/experimental/vte3/debian/changelog [utf-8] Wed Mar 21 09:44:27 2012
@@ -4,6 +4,9 @@
* debian/control.in: Bump glib build dependency as per configure.ac.
* Drop 03_glade-catalog-library-name.patch, fixed upstream.
* 25_optional-ncurses.patch: Unfuzz.
+ * Add 03_scroll_region_updates.patch: Fix glitches with interspersing writes
+ to the bottom line with scrolls of the upper region. Patch taken from
+ Ubuntu package. (GNOME #542087, LP: #246701)
-- Martin Pitt <mpitt at debian.org> Wed, 21 Mar 2012 10:24:18 +0100
Added: desktop/experimental/vte3/debian/patches/03_scroll_region_updates.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/vte3/debian/patches/03_scroll_region_updates.patch?rev=33465&op=file
==============================================================================
--- desktop/experimental/vte3/debian/patches/03_scroll_region_updates.patch (added)
+++ desktop/experimental/vte3/debian/patches/03_scroll_region_updates.patch [utf-8] Wed Mar 21 09:44:27 2012
@@ -1,0 +1,71 @@
+Description: Fix glitches with interspersing writes to the bottom line with scrolls of the upper region.
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=542087
+Bug-Ubuntu: https://launchpad.net/bugs/246701
+
+Index: vte3-exp/src/vte.c
+===================================================================
+--- vte3-exp.orig/src/vte.c 2012-03-21 10:44:08.880471453 +0100
++++ vte3-exp/src/vte.c 2012-03-21 10:44:10.668471539 +0100
+@@ -4066,6 +4066,7 @@
+ 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;
+
+@@ -4085,6 +4086,10 @@
+ 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));
+@@ -4183,6 +4188,8 @@
+ * 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,
+@@ -4193,12 +4200,20 @@
+ 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);
+@@ -4218,6 +4233,8 @@
+ 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
Modified: desktop/experimental/vte3/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/vte3/debian/patches/series?rev=33465&op=diff
==============================================================================
--- desktop/experimental/vte3/debian/patches/series [utf-8] (original)
+++ desktop/experimental/vte3/debian/patches/series [utf-8] Wed Mar 21 09:44:27 2012
@@ -1,4 +1,5 @@
01_scroll_notebook.patch
02_meta.patch
+03_scroll_region_updates.patch
25_optional-ncurses.patch
60_termcap-home-end.patch
More information about the pkg-gnome-commits
mailing list