invalidate the line containing start, even if the [start,end) range is

2002-03-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
	invalidate the line containing start, even if the [start,end)
	range is empty (just invalidate [start,end], essentially).
	Partially fixes #72374
This commit is contained in:
Havoc Pennington 2002-03-23 22:14:40 +00:00 committed by Havoc Pennington
parent 8bad932211
commit dd99498088
7 changed files with 50 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
invalidate the line containing start, even if the [start,end)
range is empty (just invalidate [start,end], essentially).
Partially fixes #72374
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in

View File

@ -1,3 +1,10 @@
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
invalidate the line containing start, even if the [start,end)
range is empty (just invalidate [start,end], essentially).
Partially fixes #72374
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in

View File

@ -1,3 +1,10 @@
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
invalidate the line containing start, even if the [start,end)
range is empty (just invalidate [start,end], essentially).
Partially fixes #72374
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in

View File

@ -1,3 +1,10 @@
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
invalidate the line containing start, even if the [start,end)
range is empty (just invalidate [start,end], essentially).
Partially fixes #72374
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in

View File

@ -1,3 +1,10 @@
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
invalidate the line containing start, even if the [start,end)
range is empty (just invalidate [start,end], essentially).
Partially fixes #72374
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in

View File

@ -1,3 +1,10 @@
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_invalidate):
invalidate the line containing start, even if the [start,end)
range is empty (just invalidate [start,end], essentially).
Partially fixes #72374
2002-03-23 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in

View File

@ -700,6 +700,13 @@ gtk_text_layout_real_invalidate (GtkTextLayout *layout,
g_return_if_fail (GTK_IS_TEXT_LAYOUT (layout));
g_return_if_fail (layout->wrap_loop_count == 0);
/* Because we may be invalidating a mark, it's entirely possible
* that gtk_text_iter_equal (start, end) in which case we
* should still invalidate the line they are both on. i.e.
* we always invalidate the line with "start" even
* if there's an empty range.
*/
#if 0
gtk_text_view_index_spew (start_index, "invalidate start");
gtk_text_view_index_spew (end_index, "invalidate end");
@ -712,8 +719,7 @@ gtk_text_layout_real_invalidate (GtkTextLayout *layout,
{
GtkTextLineData *line_data = _gtk_text_line_get_data (line, layout);
if (line_data &&
(line != last_line || !gtk_text_iter_starts_line (end)))
if (line_data)
{
gtk_text_layout_invalidate_cache (layout, line);
_gtk_text_line_invalidate_wrap (line, line_data);