diff --git a/src/client/widgets/sky/sky.c b/src/client/widgets/sky/sky.c index c07c2e4bc22f465108ee92de9180bcb4354caf9f..a7abaa6bae40db9fb6a5d3add9ce69985253d05d 100644 --- a/src/client/widgets/sky/sky.c +++ b/src/client/widgets/sky/sky.c @@ -437,6 +437,24 @@ static int sky_load_config(Sky *p) /* search relative path first */ ret = sky_load_config_from_prefix(p, "data/", &error); + + if (ret) { + g_clear_error(&error); + /* try again in confdir */ + prefix = g_strconcat(CONFDIR, "/data/", NULL); + ret = sky_load_config_from_prefix(p, prefix, &error); + g_free(prefix); + } + + + if (ret) { + g_clear_error(&error); + /* try again in confdir */ + prefix = g_strconcat("etc/", CONFDIR, "/data/", NULL); + ret = sky_load_config_from_prefix(p, prefix, &error); + g_free(prefix); + } + if (ret) { g_clear_error(&error); /* try again in sysconfdir */ @@ -445,10 +463,11 @@ static int sky_load_config(Sky *p) g_free(prefix); } + if (ret) { g_warning("Could not find sky_objects.cfg: %s. " - "Looked in data/, %sdata and %s/%sdata", - error->message, CONFDIR, SYSCONFDIR, CONFDIR); + "Looked in data/, %sdata, etc/%d/data/ and %s/%sdata", + error->message, CONFDIR, CONFDIR, SYSCONFDIR, CONFDIR); g_clear_error(&error); return -1; diff --git a/src/server/backends/SIM/rt_sim.c b/src/server/backends/SIM/rt_sim.c index a8013c407552e655577df8ceb07c2e74eff8108e..d5f5e3709698f2cf0f6c809f448bcdc6d578d165 100644 --- a/src/server/backends/SIM/rt_sim.c +++ b/src/server/backends/SIM/rt_sim.c @@ -299,6 +299,14 @@ int sim_load_config(void) g_free(prefix); } + if (ret) { + g_clear_error(&error); + /* try again in confdir */ + prefix = g_strconcat("etc/", CONFDIR, "/", NULL); + ret = sim_load_config_from_prefix(prefix, &error); + g_free(prefix); + } + if (ret) { g_clear_error(&error); /* try again in sysconfdir */