From 5af820e0daf0a6cc223aae7d818f5046c8402886 Mon Sep 17 00:00:00 2001 From: zmike Date: Tue, 7 Oct 2014 14:16:05 -0400 Subject: [PATCH] master empc no longer opens and closes eet files constantly --- src/modules/eet_loader.c | 10 ++++++---- src/modules/eet_saver.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/modules/eet_loader.c b/src/modules/eet_loader.c index 836bde6..1a81285 100644 --- a/src/modules/eet_loader.c +++ b/src/modules/eet_loader.c @@ -18,6 +18,7 @@ try_lyr(void) { char buf[PATH_MAX]; + if (master && ef_lyr) return EINA_TRUE; snprintf(buf, sizeof(buf), "%s/empc/metadata/lyrics.eet", efreet_cache_home_get()); ef_lyr = eet_open(buf, EET_FILE_MODE_READ); return !!ef_lyr; @@ -28,6 +29,7 @@ try_img(void) { char buf[PATH_MAX]; + if (master && ef_img) return EINA_TRUE; snprintf(buf, sizeof(buf), "%s/empc/metadata/images.eet", efreet_cache_home_get()); ef_img = eet_open(buf, EET_FILE_MODE_READ); return !!ef_img; @@ -130,8 +132,8 @@ _loader_fetch(Empc_Fetch_Request *req) eina_stringshare_del(url); } } - eet_close(ef_img); - ef_img = NULL; + if (!master) + E_FREE_FUNC(ef_img, eet_close); } else { @@ -148,8 +150,8 @@ _loader_fetch(Empc_Fetch_Request *req) } free(txt); } - eet_close(ef_lyr); - ef_lyr = NULL; + if (!master) + E_FREE_FUNC(ef_lyr, eet_close); } if (l) empc_metadata_fetch_done(req, l); diff --git a/src/modules/eet_saver.c b/src/modules/eet_saver.c index be46dd6..7e6fa5c 100644 --- a/src/modules/eet_saver.c +++ b/src/modules/eet_saver.c @@ -24,6 +24,7 @@ try_lyr(void) { char buf[PATH_MAX]; + if (master && ef_lyr) return EINA_TRUE; snprintf(buf, sizeof(buf), "%s/empc/metadata/lyrics.eet", efreet_cache_home_get()); ef_lyr = eet_open(buf, EET_FILE_MODE_READ_WRITE); return !!ef_lyr; @@ -34,6 +35,7 @@ try_img(void) { char buf[PATH_MAX]; + if (master && ef_img) return EINA_TRUE; snprintf(buf, sizeof(buf), "%s/empc/metadata/images.eet", efreet_cache_home_get()); ef_img = eet_open(buf, EET_FILE_MODE_READ_WRITE); return !!ef_img; @@ -75,7 +77,10 @@ empc_module_metadata_save_image(Evas_Object *obj, const char *uri, const char *a eet_delete(ef_img, buf); eet_hash_set(ef_img, buf, NULL); } - eio_eet_close(ef_img, cb, cb, NULL); + if (master) + eio_eet_sync(ef_img, cb, cb, NULL); + else + eio_eet_close(ef_img, cb, cb, NULL); } EAPI void @@ -97,7 +102,10 @@ empc_module_metadata_save_text(const char *text, const char *artist, const char } snprintf(buf, sizeof(buf), "%s:::%s", a ?: "", b ?: ""); eet_write(ef_lyr, buf, text, strlen(text) + 1, 1); - eio_eet_close(ef_lyr, cb, cb, NULL); + if (master) + eio_eet_sync(ef_lyr, cb, cb, NULL); + else + eio_eet_close(ef_lyr, cb, cb, NULL); } EAPI Empc_Module_Type