Mercurial > hg
changeset 2264:44bb9a033407
Revert patch c1eb68306520
c1eb68306520 frees colors that could still be used for other nicknames.
Thanks to franky for the hint.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 30 Apr 2016 11:23:37 +0200 |
parents | 223827268b2b |
children | b79a34e21076 |
files | mcabber/mcabber/screen.c |
diffstat | 1 files changed, 6 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/mcabber/screen.c Wed Mar 30 20:40:29 2016 +0000 +++ b/mcabber/mcabber/screen.c Sat Apr 30 11:23:37 2016 +0200 @@ -204,8 +204,8 @@ #endif typedef struct { - int color_pair; - int color_attrib; + int color_pair; + int color_attrib; } ccolor; typedef struct { @@ -350,15 +350,11 @@ g_free(mnick); } else { nickcolor *nc = g_new(nickcolor, 1); - nickcolor *oc; ensure_string_htable(&nickcolors, NULL); nc->manual = TRUE; nc->color = cl; // Free the struct, if any there already - if ((oc = g_hash_table_lookup(nickcolors, mnick))) { - g_free(oc -> color); - g_free(oc); - } + g_free(g_hash_table_lookup(nickcolors, mnick)); // Save the new ones g_hash_table_replace(nickcolors, mnick, nc); g_hash_table_replace(nickcolors, snick, nc); @@ -426,7 +422,7 @@ } if (found) { rostercolor *rc = found->data; - g_free(rc->color); + g_free(rc->color); rc->color = cl; } else { rostercolor *rc = g_new(rostercolor, 1); @@ -583,8 +579,8 @@ } if (!nickcols) { // Fallback to have something nickcolcount = 1; - nickcols = g_new(ccolor*, 1); - *nickcols = g_new(ccolor, 1); + nickcols = g_new(ccolor*, 1); + *nickcols = g_new(ccolor, 1); (*nickcols)->color_pair = COLOR_GENERAL; (*nickcols)->color_attrib = A_NORMAL; }