From 203f6c532947e8b7c7e30fad91220aad083c7f08 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Fri, 16 Feb 2018 13:46:29 +0100 Subject: also unblock theme elements when processing finished --- src/fe-common/core/themes.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/fe-common/core/themes.c b/src/fe-common/core/themes.c index 5a817daa..e9818be9 100644 --- a/src/fe-common/core/themes.c +++ b/src/fe-common/core/themes.c @@ -413,7 +413,7 @@ static char *theme_format_expand_abstract(THEME_REC *theme, const char **formatp { GString *str; const char *p, *format; - char *abstract, *data, *ret; + char *abstract, *data, *ret, *blocking; theme_rm_col default_fg, default_bg; int len; @@ -455,8 +455,10 @@ static char *theme_format_expand_abstract(THEME_REC *theme, const char **formatp /* unknown abstract, just display the data */ data = "$0-"; g_free(abstract); + blocking = NULL; } else { - g_tree_insert(block_list, abstract, abstract); + blocking = abstract; + g_tree_insert(block_list, blocking, blocking); } abstract = g_strdup(data); @@ -503,6 +505,9 @@ static char *theme_format_expand_abstract(THEME_REC *theme, const char **formatp ret = theme_format_expand_data_rec(theme, &p, default_fg, default_bg, last_fg, last_bg, flags | EXPAND_FLAG_LASTCOLOR_ARG, block_list); g_free(abstract); + if (blocking != NULL) { + g_tree_remove(block_list, blocking); + } g_tree_unref(block_list); return ret; } -- cgit v1.2.3