summaryrefslogtreecommitdiff
path: root/gtk/gtktextlayout.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2002-03-23 22:14:40 +0000
committerHavoc Pennington <hp@src.gnome.org>2002-03-23 22:14:40 +0000
commitdd99498088eab1e915c2cd740cb636841aae2ce4 (patch)
tree5211ab603567f995742ef93c2a9a418a3f102e06 /gtk/gtktextlayout.c
parent8bad93221106d81711a3dede829d5027a1c9e1f9 (diff)
downloadgtk+-dd99498088eab1e915c2cd740cb636841aae2ce4.tar.gz
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
Diffstat (limited to 'gtk/gtktextlayout.c')
-rw-r--r--gtk/gtktextlayout.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk/gtktextlayout.c b/gtk/gtktextlayout.c
index b92e85cc8f..71b585ac87 100644
--- a/gtk/gtktextlayout.c
+++ b/gtk/gtktextlayout.c
@@ -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);