talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 906eff23421e97c7e154ea998bc4b2d74de930ca
parent 0f9a9f5997392e108fb8341975cd54035536655e
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Wed, 28 Nov 2018 22:33:23 +0100

Fix a memory leak in folderview_update_node().

Diffstat:
Msrc/folderview.c | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/folderview.c b/src/folderview.c @@ -1519,6 +1519,7 @@ static void folderview_update_node(FolderView *folderview, GtkCMCTreeNode *node) gboolean use_bold, use_color; gint *col_pos = folderview->col_pos; SpecialFolderItemType stype; + gboolean copiedstyle = FALSE; item = gtk_cmctree_node_get_row_data(ctree, node); cm_return_if_fail(item != NULL); @@ -1728,6 +1729,7 @@ static void folderview_update_node(FolderView *folderview, GtkCMCTreeNode *node) if (item->prefs->color > 0 && !use_color) { gtkut_convert_int_to_gdk_color(item->prefs->color, &gdk_color); color_style = gtk_style_copy(bold_style); + copiedstyle = TRUE; color_style->text[GTK_STATE_NORMAL] = gdk_color; style = color_style; } else if (use_color) { @@ -1747,6 +1749,7 @@ static void folderview_update_node(FolderView *folderview, GtkCMCTreeNode *node) GdkColor gdk_color; gtkut_convert_int_to_gdk_color(item->prefs->color, &gdk_color); color_style = gtk_style_copy(normal_style); + copiedstyle = TRUE; color_style->text[GTK_STATE_NORMAL] = gdk_color; style = color_style; } else { @@ -1754,6 +1757,8 @@ static void folderview_update_node(FolderView *folderview, GtkCMCTreeNode *node) } gtk_cmctree_node_set_row_style(ctree, node, style); + if (copiedstyle) + g_object_unref(style); if ((node = gtkut_ctree_find_collapsed_parent(ctree, node)) != NULL) folderview_update_node(folderview, node);