From: Havoc Pennington Date: Mon, 22 Oct 2001 22:17:21 +0000 (+0000) Subject: add temporary code to dump btree contents on assertion failure described X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=0a522533b09521b6259819f7287908ff6b1a8704;p=~andy%2Fgtk add temporary code to dump btree contents on assertion failure described 2001-10-22 Havoc Pennington * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): add temporary code to dump btree contents on assertion failure described in #62656 * gtk/gtktextbtree.c (ensure_end_iter_segment): add some assertions that we're getting the right end iter segment * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): verify that we aren't on the end iterator after moving forward one segment - fixes return value in an obscure case. Also, some trivial code cleanup/rearranging. --- diff --git a/ChangeLog b/ChangeLog index 13142024e..01ee421a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 13142024e..01ee421a4 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 13142024e..01ee421a4 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 13142024e..01ee421a4 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 13142024e..01ee421a4 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 13142024e..01ee421a4 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 13142024e..01ee421a4 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,17 @@ +2001-10-22 Havoc Pennington + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + add temporary code to dump btree contents on assertion failure + described in #62656 + + * gtk/gtktextbtree.c (ensure_end_iter_segment): add some + assertions that we're getting the right end iter segment + + * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): + verify that we aren't on the end iterator after moving + forward one segment - fixes return value in an obscure case. + Also, some trivial code cleanup/rearranging. + 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define diff --git a/gtk/gtktextbtree.c b/gtk/gtktextbtree.c index a2a043be8..2f03b5807 100644 --- a/gtk/gtktextbtree.c +++ b/gtk/gtktextbtree.c @@ -3234,6 +3234,9 @@ ensure_end_iter_segment (GtkTextBTree *tree) tree->end_iter_segment_char_offset = last_with_chars->char_count - 1; tree->end_iter_segment_stamp = tree->segments_changed_stamp; + + g_assert (tree->end_iter_segment->type == >k_text_char_type); + g_assert (tree->end_iter_segment->body.chars[tree->end_iter_segment_byte_index] == '\n'); } } diff --git a/gtk/gtktextiter.c b/gtk/gtktextiter.c index 97fc4b4ad..501b077fa 100644 --- a/gtk/gtktextiter.c +++ b/gtk/gtktextiter.c @@ -1976,7 +1976,7 @@ _gtk_text_iter_forward_indexable_segment (GtkTextIter *iter) check_invariants (iter); - return TRUE; + return !gtk_text_iter_is_end (iter); } else { @@ -1995,21 +1995,20 @@ _gtk_text_iter_forward_indexable_segment (GtkTextIter *iter) check_invariants (iter); - if (gtk_text_iter_is_end (iter)) - return FALSE; - else - return TRUE; + return !gtk_text_iter_is_end (iter); } else { /* End of buffer */ + + check_invariants (iter); g_assert (!_gtk_text_line_is_last (real->line, real->tree)); g_assert (_gtk_text_line_contains_end_iter (real->line, real->tree)); + if (!gtk_text_iter_is_end (iter)) + _gtk_text_btree_spew (_gtk_text_iter_get_btree (iter)); g_assert (gtk_text_iter_is_end (iter)); - check_invariants (iter); - return FALSE; } }