raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=fda28bfcfd1ab4b56f75173a926256934eed3942
commit fda28bfcfd1ab4b56f75173a926256934eed3942 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Fri Mar 28 16:17:38 2014 +0900 fix my theme version fix to not version extns/overlays --- src/lib/elm_theme.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/lib/elm_theme.c b/src/lib/elm_theme.c index 9ba16f5..bf77c3f 100644 --- a/src/lib/elm_theme.c +++ b/src/lib/elm_theme.c @@ -29,18 +29,22 @@ static inline void _elm_theme_item_finalize(Elm_Theme_Files *files, const char *item, Eina_File *f, - Eina_Bool prepend) + Eina_Bool prepend, + Eina_Bool istheme) { - char *version; - if (!f) return; - if (!(version = edje_mmap_data_get(f, "version"))) return; - if (atoi(version) < 110) // bump this version number when we need to + if (istheme) { + char *version; + + if (!(version = edje_mmap_data_get(f, "version"))) return; + if (atoi(version) < 110) // bump this version number when we need to + { + free(version); + return; + } free(version); - return; } - free(version); if (prepend) { files->items = eina_list_prepend(files->items, @@ -56,7 +60,7 @@ _elm_theme_item_finalize(Elm_Theme_Files *files, } static void -_elm_theme_file_item_add(Elm_Theme_Files *files, const char *item, Eina_Bool prepend) +_elm_theme_file_item_add(Elm_Theme_Files *files, const char *item, Eina_Bool prepend, Eina_Bool istheme) { Eina_Strbuf *buf = NULL; Eina_File *f = NULL; @@ -86,7 +90,7 @@ _elm_theme_file_item_add(Elm_Theme_Files *files, const char *item, Eina_Bool pre "%s/"ELEMENTARY_BASE_DIR"/themes/%s.edj", home, item); f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE); - _elm_theme_item_finalize(files, item, f, prepend); + _elm_theme_item_finalize(files, item, f, prepend, istheme); eina_strbuf_reset(buf); eina_strbuf_append_printf(buf, @@ -96,7 +100,7 @@ _elm_theme_file_item_add(Elm_Theme_Files *files, const char *item, Eina_Bool pre /* Finalize will be done by the common one */ } - _elm_theme_item_finalize(files, item, f, prepend); + _elm_theme_item_finalize(files, item, f, prepend, istheme); on_error: if (buf) eina_strbuf_free(buf); @@ -469,7 +473,7 @@ _elm_theme_parse(Elm_Theme *th, const char *theme) EINA_LIST_FREE(th->themes.handles, f) eina_file_close(f); EINA_LIST_FREE(names, p) - _elm_theme_file_item_add(&th->themes, p, EINA_FALSE); + _elm_theme_file_item_add(&th->themes, p, EINA_FALSE, EINA_TRUE); return EINA_TRUE; } @@ -491,7 +495,7 @@ elm_theme_new(void) Elm_Theme *th = calloc(1, sizeof(Elm_Theme)); if (!th) return NULL; th->ref = 1; - _elm_theme_file_item_add(&th->themes, "default", EINA_FALSE); + _elm_theme_file_item_add(&th->themes, "default", EINA_FALSE, EINA_TRUE); themes = eina_list_append(themes, th); return th; } @@ -579,7 +583,7 @@ elm_theme_overlay_add(Elm_Theme *th, const char *item) { if (!item) return; if (!th) th = &(theme_default); - _elm_theme_file_item_add(&th->overlay, item, EINA_TRUE); + _elm_theme_file_item_add(&th->overlay, item, EINA_TRUE, EINA_FALSE); elm_theme_flush(th); } @@ -598,7 +602,7 @@ elm_theme_overlay_mmap_add(Elm_Theme *th, const Eina_File *f) Eina_File *file = eina_file_dup(f); if (!th) th = &(theme_default); - _elm_theme_item_finalize(&th->overlay, eina_file_filename_get(file), file, EINA_TRUE); + _elm_theme_item_finalize(&th->overlay, eina_file_filename_get(file), file, EINA_TRUE, EINA_FALSE); elm_theme_flush(th); } @@ -623,7 +627,7 @@ elm_theme_extension_add(Elm_Theme *th, const char *item) { if (!item) return; if (!th) th = &(theme_default); - _elm_theme_file_item_add(&th->extension, item, EINA_FALSE); + _elm_theme_file_item_add(&th->extension, item, EINA_FALSE, EINA_FALSE); elm_theme_flush(th); } @@ -643,7 +647,7 @@ elm_theme_extension_mmap_add(Elm_Theme *th, const Eina_File *f) if (!f) return; if (!th) th = &(theme_default); - _elm_theme_item_finalize(&th->overlay, eina_file_filename_get(file), file, EINA_FALSE); + _elm_theme_item_finalize(&th->overlay, eina_file_filename_get(file), file, EINA_FALSE, EINA_FALSE); elm_theme_flush(th); } --
