Mercurial > pidgin
changeset 21306:14f06265d134
Clear the tags when the textview is cleared.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Mon, 12 Nov 2007 16:15:53 +0000 |
parents | 0208beabfa33 |
children | 93e69f29bc5f |
files | finch/libgnt/gnttextview.c |
diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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);