add temporary code to dump btree contents on assertion failure described

2001-10-22  Havoc Pennington  <hp@redhat.com>

	* 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.
This commit is contained in:
Havoc Pennington 2001-10-22 22:17:21 +00:00 committed by Havoc Pennington
parent 6446484667
commit 0a522533b0
9 changed files with 109 additions and 9 deletions

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -1,3 +1,17 @@
2001-10-22 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com> 2001-10-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.h: add a #error unless you define * gtk/gtktextlayout.h: add a #error unless you define

View File

@ -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_char_offset = last_with_chars->char_count - 1;
tree->end_iter_segment_stamp = tree->segments_changed_stamp; tree->end_iter_segment_stamp = tree->segments_changed_stamp;
g_assert (tree->end_iter_segment->type == &gtk_text_char_type);
g_assert (tree->end_iter_segment->body.chars[tree->end_iter_segment_byte_index] == '\n');
} }
} }

View File

@ -1976,7 +1976,7 @@ _gtk_text_iter_forward_indexable_segment (GtkTextIter *iter)
check_invariants (iter); check_invariants (iter);
return TRUE; return !gtk_text_iter_is_end (iter);
} }
else else
{ {
@ -1995,21 +1995,20 @@ _gtk_text_iter_forward_indexable_segment (GtkTextIter *iter)
check_invariants (iter); check_invariants (iter);
if (gtk_text_iter_is_end (iter)) return !gtk_text_iter_is_end (iter);
return FALSE;
else
return TRUE;
} }
else else
{ {
/* End of buffer */ /* End of buffer */
check_invariants (iter);
g_assert (!_gtk_text_line_is_last (real->line, real->tree)); g_assert (!_gtk_text_line_is_last (real->line, real->tree));
g_assert (_gtk_text_line_contains_end_iter (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)); g_assert (gtk_text_iter_is_end (iter));
check_invariants (iter);
return FALSE; return FALSE;
} }
} }