billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=898351be8fe2e66c86195516c1ed418d3f8e006d

commit 898351be8fe2e66c86195516c1ed418d3f8e006d
Author: Boris Faure <[email protected]>
Date:   Sun Oct 11 23:35:11 2020 +0200

    colors: dup default_colorscheme
    
    so that all elements from color_scheme_list() have to be freed
---
 src/bin/colors.c | 12 ++++++++----
 src/bin/colors.h |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/bin/colors.c b/src/bin/colors.c
index cd3385f..8da138b 100644
--- a/src/bin/colors.c
+++ b/src/bin/colors.c
@@ -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)
           {
diff --git a/src/bin/colors.h b/src/bin/colors.h
index cfe5d1e..6406f62 100644
--- a/src/bin/colors.h
+++ b/src/bin/colors.h
@@ -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);
 

-- 


Reply via email to