summaryrefslogtreecommitdiff
path: root/gtk/gtktextbtree.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2002-02-13 23:44:03 +0000
committerHavoc Pennington <hp@src.gnome.org>2002-02-13 23:44:03 +0000
commita760ad804e1603ca6ee7e164e6cc5dc12e0f3b41 (patch)
tree9045f4a60cf810a3111e4a6e428a4e12f20b9458 /gtk/gtktextbtree.c
parent3a4a6edb79fc111a343f2caa7892787c74416e6a (diff)
downloadgtk+-a760ad804e1603ca6ee7e164e6cc5dc12e0f3b41.tar.gz
just go ahead and flush all the first validate stuff if it hasn't been
2002-02-13 Havoc Pennington <hp@redhat.com> * gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush all the first validate stuff if it hasn't been done, presumably someone called process_updates at a weird time. * tests/testtext.c (do_apply_colors): terminate on >= end, not > end, avoids infinite loop when end is at the end of the buffer. * gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a line data, we were adding it to the wrong line ("line" instead of "start_line")
Diffstat (limited to 'gtk/gtktextbtree.c')
-rw-r--r--gtk/gtktextbtree.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/gtk/gtktextbtree.c b/gtk/gtktextbtree.c
index 5f00fc088f..fa5aeb095f 100644
--- a/gtk/gtktextbtree.c
+++ b/gtk/gtktextbtree.c
@@ -575,6 +575,7 @@ _gtk_text_btree_delete (GtkTextIter *start,
_gtk_text_btree_check (tree);
/* Broadcast the need for redisplay before we break the iterators */
+ DV (g_print ("invalidating due to deleting some text (%s)\n", G_STRLOC));
_gtk_text_btree_invalidate_region (tree, start, end);
/* Save the byte offset so we can reset the iterators */
@@ -826,8 +827,8 @@ _gtk_text_btree_delete (GtkTextIter *start,
* we do need to store our temporary sizes. So we
* create the line data and assume a line w/h of 0.
*/
- ld = _gtk_text_line_data_new (view->layout, line);
- _gtk_text_line_add_data (line, ld);
+ ld = _gtk_text_line_data_new (view->layout, start_line);
+ _gtk_text_line_add_data (start_line, ld);
ld->width = 0;
ld->height = 0;
ld->valid = FALSE;
@@ -1033,6 +1034,7 @@ _gtk_text_btree_insert (GtkTextIter *iter,
above. FIXME */
gtk_text_iter_forward_chars (&end, char_count_delta);
+ DV (g_print ("invalidating due to inserting some text (%s)\n", G_STRLOC));
_gtk_text_btree_invalidate_region (tree,
&start, &end);
@@ -1081,6 +1083,7 @@ insert_pixbuf_or_widget_segment (GtkTextIter *iter,
*iter = start;
gtk_text_iter_forward_char (iter); /* skip forward past the segment */
+ DV (g_print ("invalidating due to inserting pixbuf/widget (%s)\n", G_STRLOC));
_gtk_text_btree_invalidate_region (tree, &start, iter);
}
@@ -1414,9 +1417,9 @@ _gtk_text_btree_remove_view (GtkTextBTree *tree,
}
void
-_gtk_text_btree_invalidate_region (GtkTextBTree *tree,
- const GtkTextIter *start,
- const GtkTextIter *end)
+_gtk_text_btree_invalidate_region (GtkTextBTree *tree,
+ const GtkTextIter *start,
+ const GtkTextIter *end)
{
BTreeView *view;
@@ -1526,6 +1529,7 @@ queue_tag_redisplay (GtkTextBTree *tree,
{
if (_gtk_text_tag_affects_size (tag))
{
+ DV (g_print ("invalidating due to size-affecting tag (%s)\n", G_STRLOC));
_gtk_text_btree_invalidate_region (tree, start, end);
}
else if (_gtk_text_tag_affects_nonsize_appearance (tag))
@@ -2448,6 +2452,7 @@ redisplay_mark (GtkTextLineSegment *mark)
end = iter;
gtk_text_iter_forward_char (&end);
+ DV (g_print ("invalidating due to moving visible mark (%s)\n", G_STRLOC));
_gtk_text_btree_invalidate_region (mark->body.mark.tree,
&iter, &end);
}
@@ -5411,6 +5416,7 @@ tag_changed_cb (GtkTextTagTable *table,
{
/* Must be a last toggle if there was a first one. */
_gtk_text_btree_get_iter_at_last_toggle (tree, &end, tag);
+ DV (g_print ("invalidating due to tag change (%s)\n", G_STRLOC));
_gtk_text_btree_invalidate_region (tree,
&start, &end);