qulogic/libgnt

Clear the tags when the textview is cleared.

2007-11-12, Sadrul Habib Chowdhury
b47858829a36
Parents 52be4fd3caef
Children 7000637a2f43
Clear the tags when the textview is cleared.
  • +13 -3
    gnttextview.c
  • --- a/gnttextview.c Sat Nov 10 23:48:57 2007 +0000
    +++ b/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);