summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-05-14 17:26:09 +0200
committerStefan Schmidt <s.schmidt@samsung.com>2018-05-14 18:26:21 +0200
commit9c7f5ca33b1af207a7cc98bd170547d7cf4b4fd4 (patch)
treed1913b1c894b046010464361f6b77f2e60d69503
parentb83da71d89a7da1a12f83c4fc2a2b0bc900146ad (diff)
downloadefl-9c7f5ca33b1af207a7cc98bd170547d7cf4b4fd4.tar.gz
elm: use build dir data when EFL_RUN_IN_TREE is set
Summary: this prevents tests from loading user configs and providing inconsistent results or accidentally modifying a user's config fix T6863 Depends on D6013 Reviewers: cedric, stefan_schmidt Reviewed By: stefan_schmidt Subscribers: stefan_schmidt Tags: #efl Maniphest Tasks: T6863 Differential Revision: https://phab.enlightenment.org/D6014
-rw-r--r--src/lib/elementary/elm_config.c31
-rw-r--r--src/lib/elementary/elm_main.c8
-rw-r--r--src/lib/elementary/elm_priv.h2
3 files changed, 26 insertions, 15 deletions
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index 0a208f12b8..aa76258e04 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -1443,7 +1443,7 @@ _profile_fetch_from_conf(void)
}
}
- for (i = 0; i < 2; i++)
+ for (i = 0; i < 2 && !_use_build_config; i++)
{
// user profile
if (i == 0)
@@ -1695,21 +1695,24 @@ _config_load(void)
efl_loop_register(efl_main_loop_get(), EFL_CONFIG_INTERFACE, _efl_config_obj);
efl_loop_register(efl_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS, _efl_config_obj);
efl_del_intercept_set(_efl_config_obj, _efl_config_obj_del);
- _elm_config = _config_user_load();
- if (_elm_config)
+ if (!_use_build_config)
{
- if ((_elm_config->config_version >> ELM_CONFIG_VERSION_EPOCH_OFFSET) < ELM_CONFIG_EPOCH)
- {
- WRN("User's elementary config seems outdated and unusable. Fallback to load system config.");
- _config_free(_elm_config);
- _elm_config = NULL;
- }
- else
+ _elm_config = _config_user_load();
+ if (_elm_config)
{
- if (_elm_config->config_version < ELM_CONFIG_VERSION)
- _config_update();
- _env_get();
- return;
+ if ((_elm_config->config_version >> ELM_CONFIG_VERSION_EPOCH_OFFSET) < ELM_CONFIG_EPOCH)
+ {
+ WRN("User's elementary config seems outdated and unusable. Fallback to load system config.");
+ _config_free(_elm_config);
+ _elm_config = NULL;
+ }
+ else
+ {
+ if (_elm_config->config_version < ELM_CONFIG_VERSION)
+ _config_update();
+ _env_get();
+ return;
+ }
}
}
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index 3bcefcafdf..e5e43858a7 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -36,6 +36,8 @@
# define LIBEXT ".so"
#endif
+Eina_Bool _use_build_config;
+
static Elm_Version _version = { VMAJ, VMIN, VMIC, VREV };
EAPI Elm_Version *elm_version = &_version;
@@ -708,6 +710,7 @@ elm_quicklaunch_init(int argc EINA_UNUSED,
{
_elm_ql_init_count++;
if (_elm_ql_init_count > 1) return _elm_ql_init_count;
+ _use_build_config = !!getenv("EFL_RUN_IN_TREE");
eina_init();
_elm_log_dom = eina_log_domain_register("elementary", EINA_COLOR_LIGHTBLUE);
if (!_elm_log_dom)
@@ -751,7 +754,10 @@ elm_quicklaunch_init(int argc EINA_UNUSED,
LOCALE_DIR);
if (pfx)
{
- _elm_data_dir = eina_stringshare_add(eina_prefix_data_get(pfx));
+ if (_use_build_config)
+ _elm_data_dir = eina_stringshare_add(PACKAGE_BUILD_DIR "/data/elementary");
+ else
+ _elm_data_dir = eina_stringshare_add(eina_prefix_data_get(pfx));
_elm_lib_dir = eina_stringshare_add(eina_prefix_lib_get(pfx));
}
if (!_elm_data_dir) _elm_data_dir = eina_stringshare_add("/");
diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h
index 48e16161a7..fa2f926088 100644
--- a/src/lib/elementary/elm_priv.h
+++ b/src/lib/elementary/elm_priv.h
@@ -784,6 +784,8 @@ _elm_dgettext(const char *string)
# endif
+extern Eina_Bool _use_build_config;
+
/* Used by the paste handler */
void _elm_entry_entry_paste(Evas_Object *obj, const char *entry);