GtkTextChildAnchor *anchor = NULL;
+ GtkTextIter end_iter;
+ gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, -1);
+ int end_offset = gtk_text_iter_get_offset(&end_iter);
+
GtkTextIter start;
GtkTextIter iter;
gtk_text_buffer_get_iter_at_offset(buffer, &iter, 0);
start = iter;
- while(gtk_text_iter_forward_to_tag_toggle(&iter, NULL)) {
+ while(gtk_text_iter_get_offset(&iter) < end_offset) {
+ if(!gtk_text_iter_forward_to_tag_toggle(&iter, NULL)) {
+ iter = end_iter;
+ }
+
if(anchor) {
EmbeddedWidget *em = g_object_get_data(G_OBJECT(anchor), "em");
if(em) {
}
}
if(!anchor) {
+ // we have not checked the anchor at iter
anchor = gtk_text_iter_get_child_anchor(&iter);
}