# HG changeset patch # User Sadrul Habib Chowdhury # Date 1168496506 0 # Node ID 508e64b12d9863fb211cb1b32cf7c7a88159fcd2 # Parent c273952a004d6a4d6eb4f27e7f8c74045b0ad11a [gaim-migrate @ 18104] How about now? committer: Tailor Script diff -r c273952a004d -r 508e64b12d98 console/libgnt/gnttextview.c --- a/console/libgnt/gnttextview.c Thu Jan 11 05:30:24 2007 +0000 +++ b/console/libgnt/gnttextview.c Thu Jan 11 06:21:46 2007 +0000 @@ -507,6 +507,7 @@ */ int gnt_text_view_tag_change(GntTextView *view, const char *name, const char *text, gboolean all) { + GList *alllines = g_list_first(view->list); GList *list, *next, *iter, *inext; int count = 0; for (list = view->tags; list; list = next) { @@ -534,7 +535,7 @@ } /* Update the offsets of the segments */ - for (iter = view->list; iter; iter = inext) { + for (iter = alllines; iter; iter = inext) { GList *segs, *snext; GntTextLine *line = iter->data; inext = iter->next; @@ -554,7 +555,13 @@ line->segments = g_list_delete_link(line->segments, segs); if (line->segments == NULL) { free_text_line(line, NULL); - view->list = g_list_delete_link(view->list, iter); + if (view->list == iter) { + if (inext) + view->list = inext; + else + view->list = iter->prev; + } + alllines = g_list_delete_link(alllines, iter); } } else { /* XXX: (null) */