r21525 - in /desktop/unstable/vte/debian: changelog patches/01_background_ncurses.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Thu Sep 24 20:50:17 UTC 2009


Author: joss
Date: Thu Sep 24 20:50:17 2009
New Revision: 21525

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=21525
Log:
01_background_ncurses.patch: stolen upstream. Fix background color 
in ncurses applications. Closes: #548241.

Added:
    desktop/unstable/vte/debian/patches/01_background_ncurses.patch
Modified:
    desktop/unstable/vte/debian/changelog
    desktop/unstable/vte/debian/patches/series

Modified: desktop/unstable/vte/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/vte/debian/changelog?rev=21525&op=diff
==============================================================================
--- desktop/unstable/vte/debian/changelog [utf-8] (original)
+++ desktop/unstable/vte/debian/changelog [utf-8] Thu Sep 24 20:50:17 2009
@@ -1,3 +1,10 @@
+vte (1:0.22.0-2) unstable; urgency=low
+
+  * 01_background_ncurses.patch: stolen upstream. Fix background color 
+    in ncurses applications. Closes: #548241.
+
+ -- Josselin Mouette <joss at debian.org>  Thu, 24 Sep 2009 22:49:17 +0200
+
 vte (1:0.22.0-1) unstable; urgency=low
 
   [ Emilio Pozuelo Monfort ]

Added: desktop/unstable/vte/debian/patches/01_background_ncurses.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/vte/debian/patches/01_background_ncurses.patch?rev=21525&op=file
==============================================================================
--- desktop/unstable/vte/debian/patches/01_background_ncurses.patch (added)
+++ desktop/unstable/vte/debian/patches/01_background_ncurses.patch [utf-8] Thu Sep 24 20:50:17 2009
@@ -1,0 +1,262 @@
+From 58d0affa8eea77353ef47c53923cd82c4203fe1a Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad at behdad.org>
+Date: Thu, 24 Sep 2009 19:22:30 +0000
+Subject: Bug 596163 - Doesn't display expected background color in ncurses apps
+
+Revert semantic change introduced in 08caf3b174e68ba3d02f04c2595ad552cd50db30
+---
+diff --git a/src/ring.c b/src/ring.c
+index fe23707..ab13d42 100644
+--- a/src/ring.c
++++ b/src/ring.c
+@@ -480,8 +480,8 @@ _vte_ring_shrink (VteRing *ring, guint max_len)
+  *
+  * Return: the newly added row.
+  */
+-static VteRowData *
+-_vte_ring_insert_internal (VteRing *ring, guint position)
++VteRowData *
++_vte_ring_insert (VteRing *ring, guint position)
+ {
+ 	guint i;
+ 	VteRowData *row, tmp;
+@@ -544,25 +544,6 @@ _vte_ring_remove (VteRing * ring, guint position)
+ 
+ 
+ /**
+- * _vte_ring_insert:
+- * @ring: a #VteRing
+- * @data: the new item
+- *
+- * Inserts a new, empty, row into @ring at the @position'th offset.
+- * The item at that position and any items after that are shifted down.
+- * It pads enough lines if @position is after the end of the ring.
+- *
+- * Return: the newly added row.
+- */
+-VteRowData *
+-_vte_ring_insert (VteRing *ring, guint position)
+-{
+-	while (G_UNLIKELY (_vte_ring_next (ring) < position))
+-		_vte_ring_append (ring);
+-	return _vte_ring_insert_internal (ring, position);
+-}
+-
+-/**
+  * _vte_ring_append:
+  * @ring: a #VteRing
+  * @data: the new item
+@@ -574,6 +555,6 @@ _vte_ring_insert (VteRing *ring, guint position)
+ VteRowData *
+ _vte_ring_append (VteRing * ring)
+ {
+-	return _vte_ring_insert_internal (ring, _vte_ring_next (ring));
++	return _vte_ring_insert (ring, _vte_ring_next (ring));
+ }
+ 
+diff --git a/src/vte-private.h b/src/vte-private.h
+index 594b44d..97fbd79 100644
+--- a/src/vte-private.h
++++ b/src/vte-private.h
+@@ -416,6 +416,9 @@ void _vte_terminal_beep(VteTerminal *terminal);
+ 
+ void _vte_terminal_inline_error_message(VteTerminal *terminal, const char *format, ...) G_GNUC_PRINTF(2,3);
+ 
++VteRowData *_vte_terminal_ring_insert (VteTerminal *terminal, guint position, gboolean fill);
++VteRowData *_vte_terminal_ring_append (VteTerminal *terminal, gboolean fill);
++
+ /* vteseq.c: */
+ void _vte_terminal_handle_sequence(VteTerminal *terminal,
+ 				   const char *match_s,
+diff --git a/src/vte.c b/src/vte.c
+index b090315..38d52c0 100644
+--- a/src/vte.c
++++ b/src/vte.c
+@@ -285,6 +285,28 @@ vte_g_array_fill(GArray *array, gconstpointer item, guint final_size)
+ }
+ 
+ 
++VteRowData *
++_vte_terminal_ring_insert (VteTerminal *terminal, guint position, gboolean fill)
++{
++	VteRowData *row;
++	VteRing *ring = terminal->pvt->screen->row_data;
++	while (G_UNLIKELY (_vte_ring_next (ring) < position)) {
++		row = _vte_ring_append (ring);
++		_vte_row_data_fill (row, &terminal->pvt->screen->fill_defaults, terminal->column_count);
++	}
++	row = _vte_ring_insert (ring, position);
++	if (fill)
++		_vte_row_data_fill (row, &terminal->pvt->screen->fill_defaults, terminal->column_count);
++	return row;
++}
++
++VteRowData *
++_vte_terminal_ring_append (VteTerminal *terminal, gboolean fill)
++{
++	return _vte_terminal_ring_insert (terminal, _vte_ring_next (terminal->pvt->screen->row_data), fill);
++}
++
++
+ /* Reset defaults for character insertion. */
+ void
+ _vte_terminal_set_default_attributes(VteTerminal *terminal)
+@@ -2262,9 +2284,8 @@ static inline VteRowData *
+ vte_terminal_insert_rows (VteTerminal *terminal, guint cnt)
+ {
+ 	VteRowData *row;
+-	VteScreen *screen = terminal->pvt->screen;
+ 	do {
+-		row = _vte_ring_append (screen->row_data);
++		row = _vte_terminal_ring_append (terminal, FALSE);
+ 	} while(--cnt);
+ 	return row;
+ }
+@@ -2877,8 +2898,7 @@ _vte_terminal_cursor_down (VteTerminal *terminal)
+ 				 * to insert_delta. */
+ 				start++;
+ 				end++;
+-				_vte_ring_insert (terminal->pvt->screen->row_data,
+-						  screen->cursor_current.row);
++				_vte_terminal_ring_insert (terminal, screen->cursor_current.row, FALSE);
+ 				/* Force the areas below the region to be
+ 				 * redrawn -- they've moved. */
+ 				_vte_terminal_scroll_region(terminal, start,
+@@ -2890,7 +2910,7 @@ _vte_terminal_cursor_down (VteTerminal *terminal)
+ 				 * region, add a line at the top to scroll the
+ 				 * bottom off. */
+ 				_vte_ring_remove (terminal->pvt->screen->row_data, start);
+-				_vte_ring_insert (terminal->pvt->screen->row_data, end);
++				_vte_terminal_ring_insert (terminal, end, TRUE);
+ 				/* Update the display. */
+ 				_vte_terminal_scroll_region(terminal, start,
+ 							   end - start + 1, -1);
+diff --git a/src/vteseq.c b/src/vteseq.c
+index d409f7e..e70d246 100644
+--- a/src/vteseq.c
++++ b/src/vteseq.c
+@@ -277,7 +277,7 @@ _vte_terminal_clear_screen (VteTerminal *terminal)
+ 	initial = _vte_ring_next(screen->row_data);
+ 	/* Add a new screen's worth of rows. */
+ 	for (i = 0; i < terminal->row_count; i++)
+-		_vte_ring_append(screen->row_data);
++		_vte_terminal_ring_append (terminal, TRUE);
+ 	/* Move the cursor and insertion delta to the first line in the
+ 	 * newly-cleared area and scroll if need be. */
+ 	screen->insert_delta = initial;
+@@ -366,17 +366,17 @@ _vte_terminal_scroll_text (VteTerminal *terminal, int scroll_amount)
+ 	}
+ 
+ 	while (_vte_ring_next(screen->row_data) <= end)
+-		_vte_ring_append(terminal->pvt->screen->row_data);
++		_vte_terminal_ring_append (terminal, FALSE);
+ 
+ 	if (scroll_amount > 0) {
+ 		for (i = 0; i < scroll_amount; i++) {
+ 			_vte_ring_remove (terminal->pvt->screen->row_data, end);
+-			_vte_ring_insert (terminal->pvt->screen->row_data, start);
++			_vte_terminal_ring_insert (terminal, start, TRUE);
+ 		}
+ 	} else {
+ 		for (i = 0; i < -scroll_amount; i++) {
+ 			_vte_ring_remove (terminal->pvt->screen->row_data, start);
+-			_vte_ring_insert (terminal->pvt->screen->row_data, end);
++			_vte_terminal_ring_insert (terminal, end, TRUE);
+ 		}
+ 	}
+ 
+@@ -897,7 +897,6 @@ static void
+ vte_sequence_handler_al (VteTerminal *terminal, GValueArray *params)
+ {
+ 	VteScreen *screen;
+-	VteRowData *rowdata;
+ 	long start, end, param, i;
+ 	GValue *value;
+ 
+@@ -924,9 +923,7 @@ vte_sequence_handler_al (VteTerminal *terminal, GValueArray *params)
+ 		/* Clear a line off the end of the region and add one to the
+ 		 * top of the region. */
+ 		_vte_ring_remove (terminal->pvt->screen->row_data, end);
+-		rowdata = _vte_ring_insert (terminal->pvt->screen->row_data, start);
+-		/* Add enough cells to it so that it has the default columns. */
+-		_vte_row_data_fill (rowdata, &screen->fill_defaults, terminal->column_count);
++		_vte_terminal_ring_insert (terminal, start, TRUE);
+ 		/* Adjust the scrollbars if necessary. */
+ 		_vte_terminal_adjust_adjustments(terminal);
+ 	}
+@@ -1063,7 +1060,7 @@ vte_sequence_handler_cd (VteTerminal *terminal, GValueArray *params)
+ 			rowdata = _vte_ring_index_writable (screen->row_data, i);
+ 			g_assert(rowdata != NULL);
+ 		} else {
+-			rowdata = _vte_ring_append (screen->row_data);
++			rowdata = _vte_terminal_ring_append (screen->row_data, FALSE);
+ 		}
+ 		/* Pad out the row. */
+ 		_vte_row_data_fill (rowdata, &screen->fill_defaults, terminal->column_count);
+@@ -1410,7 +1407,7 @@ vte_sequence_handler_dl (VteTerminal *terminal, GValueArray *params)
+ 		/* Clear a line off the end of the region and add one to the
+ 		 * top of the region. */
+ 		_vte_ring_remove (terminal->pvt->screen->row_data, start);
+-		_vte_ring_insert (terminal->pvt->screen->row_data, end);
++		_vte_terminal_ring_insert (terminal, end, TRUE);
+ 		/* Adjust the scrollbars if necessary. */
+ 		_vte_terminal_adjust_adjustments(terminal);
+ 	}
+@@ -1979,7 +1976,7 @@ vte_sequence_handler_sr (VteTerminal *terminal, GValueArray *params)
+ 		/* If we're at the top of the scrolling region, add a
+ 		 * line at the top to scroll the bottom off. */
+ 		_vte_ring_remove (terminal->pvt->screen->row_data, end);
+-		_vte_ring_insert (terminal->pvt->screen->row_data, start);
++		_vte_terminal_ring_insert (terminal, start, TRUE);
+ 		/* Update the display. */
+ 		_vte_terminal_scroll_region(terminal, start, end - start + 1, 1);
+ 		_vte_invalidate_cells(terminal,
+@@ -2734,7 +2731,6 @@ vte_sequence_handler_insert_blank_characters (VteTerminal *terminal, GValueArray
+ static void
+ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
+ {
+-	VteRowData *rowdata;
+ 	GValue *value;
+ 	VteScreen *screen;
+ 	long param, end, row;
+@@ -2761,9 +2757,7 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
+ 		/* Clear a line off the end of the region and add one to the
+ 		 * top of the region. */
+ 		_vte_ring_remove (terminal->pvt->screen->row_data, end);
+-		rowdata = _vte_ring_insert (terminal->pvt->screen->row_data, row);
+-		/* Add enough cells to it so that it has the default colors. */
+-		_vte_row_data_fill (rowdata, &screen->fill_defaults, terminal->column_count);
++		_vte_terminal_ring_insert (terminal, row, TRUE);
+ 	}
+ 	/* Update the display. */
+ 	_vte_terminal_scroll_region(terminal, row, end - row + 1, param);
+@@ -2778,7 +2772,6 @@ static void
+ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
+ {
+ 	GValue *value;
+-	VteRowData *rowdata;
+ 	VteScreen *screen;
+ 	long param, end, row;
+ 	int i;
+@@ -2805,9 +2798,7 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
+ 		/* Insert a line at the end of the region and remove one from
+ 		 * the top of the region. */
+ 		_vte_ring_remove (terminal->pvt->screen->row_data, row);
+-		rowdata = _vte_ring_insert (terminal->pvt->screen->row_data, end);
+-		/* Add enough cells to it so that it has the default colors. */
+-		_vte_row_data_fill (rowdata, &screen->fill_defaults, terminal->column_count);
++		_vte_terminal_ring_insert (terminal, end, TRUE);
+ 	}
+ 	/* Update the display. */
+ 	_vte_terminal_scroll_region(terminal, row, end - row + 1, -param);
+@@ -2973,7 +2964,7 @@ vte_sequence_handler_screen_alignment_test (VteTerminal *terminal, GValueArray *
+ 	     row++) {
+ 		/* Find this row. */
+ 		while (_vte_ring_next(screen->row_data) <= row)
+-			_vte_ring_append(screen->row_data);
++			_vte_terminal_ring_append (terminal, FALSE);
+ 		_vte_terminal_adjust_adjustments(terminal);
+ 		rowdata = _vte_ring_index_writable (screen->row_data, row);
+ 		g_assert(rowdata != NULL);
+--
+cgit v0.8.2

Modified: desktop/unstable/vte/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/vte/debian/patches/series?rev=21525&op=diff
==============================================================================
--- desktop/unstable/vte/debian/patches/series [utf-8] (original)
+++ desktop/unstable/vte/debian/patches/series [utf-8] Thu Sep 24 20:50:17 2009
@@ -1,3 +1,4 @@
+01_background_ncurses.patch
 12_python_reaper.patch
 25_optional-ncurses.patch
 60_termcap-home-end.patch




More information about the pkg-gnome-commits mailing list