# HG changeset patch # User Sadrul Habib Chowdhury # Date 1194884153 0 # Node ID 14f06265d13440e72ef1239fad71a9add019cc2e # Parent 0208beabfa338ffa8fe3ef0179359801a09d0436 Clear the tags when the textview is cleared. diff -r 0208beabfa33 -r 14f06265d134 finch/libgnt/gnttextview.c --- a/finch/libgnt/gnttextview.c Sun Nov 11 19:42:02 2007 +0000 +++ b/finch/libgnt/gnttextview.c Mon Nov 12 16:15:53 2007 +0000 @@ -61,6 +61,8 @@ static gchar *select_end; static gboolean double_click; +static void reset_text_view(GntTextView *view); + static void gnt_text_view_draw(GntWidget *widget) { @@ -370,7 +372,7 @@ string = view->string; view->string = NULL; - gnt_text_view_clear(view); + reset_text_view(view); view->string = g_string_set_size(view->string, string->len); view->string->len = 0; @@ -654,7 +656,7 @@ return fl; } -void gnt_text_view_clear(GntTextView *view) +static void reset_text_view(GntTextView *view) { GntTextLine *line; @@ -667,6 +669,14 @@ if (view->string) g_string_free(view->string, TRUE); view->string = g_string_new(NULL); +} + +void gnt_text_view_clear(GntTextView *view) +{ + reset_text_view(view); + + g_list_foreach(view->tags, free_tag, NULL); + view->tags = NULL; if (GNT_WIDGET(view)->window) gnt_widget_draw(GNT_WIDGET(view)); @@ -833,7 +843,7 @@ if (status == 0) { char *text = NULL; if (g_file_get_contents(pageditor.file, &text, NULL, NULL)) { - gnt_text_view_clear(pageditor.tv); + reset_text_view(pageditor.tv); gnt_text_view_append_text_with_flags(pageditor.tv, text, GNT_TEXT_FLAG_NORMAL); gnt_text_view_scroll(GNT_TEXT_VIEW(pageditor.tv), 0); g_free(text);