+efreet_dirs_reset()
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Thu, 14 Jun 2012 07:28:23 +0000 (07:28 +0000)
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Thu, 14 Jun 2012 07:28:23 +0000 (07:28 +0000)
SVN revision: 72104

legacy/efreet/ChangeLog
legacy/efreet/NEWS
legacy/efreet/src/lib/efreet_base.c
legacy/efreet/src/lib/efreet_base.h

index e40b5e8..08e577c 100644 (file)
 2012-06-07  Mike Blumenkrantz
 
         * Support XDG_DESKTOP_DIR
+
+2012-06-14  Mike Blumenkrantz
+
+        * Added efreet_dirs_reset() to delete cached env variable information
index 54caaca..aae3349 100644 (file)
@@ -11,6 +11,7 @@ Improvements:
 Additions:
 
     * Support XDG_DESKTOP_DIR
+    * efreet_dirs_reset() for refreshing env vars after locale switches
 
 Efreet 1.2.0
 
index 37c44fd..89b6ade 100644 (file)
@@ -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
index 0eb3d52..429ba28 100644 (file)
@@ -66,6 +66,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
  */
 typedef struct _Efreet_Event_Cache_Update Efreet_Event_Cache_Update;