vte r2134 - in trunk: . src



Author: cpwilson
Date: Thu Oct 23 09:43:21 2008
New Revision: 2134
URL: http://svn.gnome.org/viewvc/vte?rev=2134&view=rev

Log:
2008-10-23  Chris Wilson  <chris chris-wilson co uk>

	Bug 557375 â >=vte-0.16.14 breaks highlighting on activity

	* src/vte.c (vte_terminal_deselect_all),
	(vte_terminal_extend_selection):
	After the user modifies the selection, copy it to PRIMARY and store
	it on the terminal. This ensures that after a screen redraw, we
	compare the contents of the selected region with the current
	selection, instead of stale data.



Modified:
   trunk/ChangeLog
   trunk/src/vte.c

Modified: trunk/src/vte.c
==============================================================================
--- trunk/src/vte.c	(original)
+++ trunk/src/vte.c	Thu Oct 23 09:43:21 2008
@@ -1018,10 +1018,16 @@
 {
 	if (terminal->pvt->has_selection) {
 		gint sx, sy, ex, ey;
-		terminal->pvt->has_selection = FALSE;
+
 		_vte_debug_print(VTE_DEBUG_SELECTION,
 				"Deselecting all text.\n");
+
+		terminal->pvt->has_selection = FALSE;
+		g_free (terminal->pvt->selection);
+		terminal->pvt->selection = NULL;
+
 		vte_terminal_emit_selection_changed(terminal);
+
 		sx = terminal->pvt->selection_start.x;
 		sy = terminal->pvt->selection_start.y;
 		ex = terminal->pvt->selection_end.x;
@@ -6142,7 +6148,6 @@
 	gboolean invalidate_selected = FALSE;
 	gboolean had_selection;
 
-
 	height = terminal->char_height;
 	width = terminal->char_width;
 
@@ -6154,7 +6159,6 @@
 		return;
 	}
 
-
 	screen = terminal->pvt->screen;
 	old_start = terminal->pvt->selection_start;
 	old_end = terminal->pvt->selection_end;
@@ -6510,6 +6514,7 @@
 			terminal->pvt->selection_start.y,
 			terminal->pvt->selection_end.x,
 			terminal->pvt->selection_end.y);
+	vte_terminal_copy_primary(terminal);
 	vte_terminal_emit_selection_changed(terminal);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]