colors: dup default_colorscheme

so that all elements from color_scheme_list() have to be freed
This commit is contained in:
Boris Faure 2020-10-11 23:35:11 +02:00
parent b04510bae5
commit 898351be8f
Signed by untrusted user who does not match committer: borisfaure
GPG Key ID: 35C0410516166BE8
2 changed files with 11 additions and 4 deletions

View File

@ -737,6 +737,8 @@ color_scheme_list(void)
Eet_File *ef_user = NULL;
Eina_Iterator *it = NULL;
Eet_Entry *entry;
Color_Scheme *cs_user;
Color_Scheme *cs_app;
snprintf(path_user, sizeof(path_user) - 1,
"%s/terminology/" COLORSCHEMES_FILENAME,
@ -746,7 +748,12 @@ color_scheme_list(void)
"%s/" COLORSCHEMES_FILENAME,
elm_app_data_dir_get());
l = eina_list_sorted_insert(l, color_scheme_cmp, &default_colorscheme);
/* Add default theme */
cs_app = malloc(sizeof(*cs_app));
if (!cs_app)
return NULL;
memcpy(cs_app, &default_colorscheme, sizeof(*cs_app));
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_app);
ef_app = eet_open(path_app, EET_FILE_MODE_READ);
if (!ef_app)
@ -764,9 +771,6 @@ color_scheme_list(void)
}
EINA_ITERATOR_FOREACH(it, entry)
{
Color_Scheme *cs_user;
Color_Scheme *cs_app;
cs_app = eet_data_read(ef_app, edd_cs, entry->name);
if (!cs_app)
{

View File

@ -61,6 +61,9 @@ void
color_scheme_apply_from_config(Evas_Object *edje,
const Config *config);
Eina_List *
color_scheme_list(void);
void
colors_init(void);