From f5d9c7bf2f7558b150b8f2510cec6cf2feb3bc87 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 14 Jun 2012 07:28:23 +0000 Subject: [PATCH] +efreet_dirs_reset() SVN revision: 72104 --- legacy/efreet/ChangeLog | 4 ++++ legacy/efreet/NEWS | 1 + legacy/efreet/src/lib/efreet_base.c | 16 ++++++++++++++++ legacy/efreet/src/lib/efreet_base.h | 7 +++++++ 4 files changed, 28 insertions(+) diff --git a/legacy/efreet/ChangeLog b/legacy/efreet/ChangeLog index e40b5e8659..08e577c5b1 100644 --- a/legacy/efreet/ChangeLog +++ b/legacy/efreet/ChangeLog @@ -123,3 +123,7 @@ 2012-06-07 Mike Blumenkrantz * Support XDG_DESKTOP_DIR + +2012-06-14 Mike Blumenkrantz + + * Added efreet_dirs_reset() to delete cached env variable information diff --git a/legacy/efreet/NEWS b/legacy/efreet/NEWS index 54caaca8f1..aae3349b12 100644 --- a/legacy/efreet/NEWS +++ b/legacy/efreet/NEWS @@ -11,6 +11,7 @@ Improvements: Additions: * Support XDG_DESKTOP_DIR + * efreet_dirs_reset() for refreshing env vars after locale switches Efreet 1.2.0 diff --git a/legacy/efreet/src/lib/efreet_base.c b/legacy/efreet/src/lib/efreet_base.c index 37c44fde2a..89b6adece7 100644 --- a/legacy/efreet/src/lib/efreet_base.c +++ b/legacy/efreet/src/lib/efreet_base.c @@ -187,6 +187,22 @@ efreet_hostname_get(void) return hostname; } +EAPI void +efreet_dirs_reset(void) +{ + const char *s; + eina_stringshare_replace(&hostname, NULL); + eina_stringshare_replace(&xdg_desktop_dir, NULL); + eina_stringshare_replace(&xdg_cache_home, NULL); + eina_stringshare_replace(&xdg_config_home, NULL); + eina_stringshare_replace(&xdg_data_home, NULL); + eina_stringshare_replace(&efreet_home_dir, NULL); + EINA_LIST_FREE(xdg_data_dirs, s) + eina_stringshare_del(s); + EINA_LIST_FREE(xdg_config_dirs, s) + eina_stringshare_del(s); +} + /** * @internal * @param key The environemnt key to lookup diff --git a/legacy/efreet/src/lib/efreet_base.h b/legacy/efreet/src/lib/efreet_base.h index 0eb3d52297..429ba2860c 100644 --- a/legacy/efreet/src/lib/efreet_base.h +++ b/legacy/efreet/src/lib/efreet_base.h @@ -65,6 +65,13 @@ EAPI const char *efreet_cache_home_get(void); */ EAPI const char *efreet_hostname_get(void); +/** + * @brief Resets all the stored env variables. This must be called whenever the + * locale is changed. + * @since 1.3 + */ +EAPI void efreet_dirs_reset(void); + /** * Efreet_Event_Cache_Update */