aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Main.cxx17
-rw-r--r--src/db/Configured.cxx14
-rw-r--r--src/db/Configured.hxx2
3 files changed, 14 insertions, 19 deletions
diff --git a/src/Main.cxx b/src/Main.cxx
index 23f1659d7..2657d54f1 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -172,7 +172,6 @@ glue_db_init_and_load(void)
Error error;
instance->database =
CreateConfiguredDatabase(*instance->event_loop, *instance,
- instance->storage != nullptr,
is_simple, error);
if (instance->database == nullptr) {
if (error.IsDefined())
@@ -181,6 +180,18 @@ glue_db_init_and_load(void)
return true;
}
+ if (!InitStorage(error))
+ FatalError(error);
+
+ if (instance->storage == nullptr) {
+ delete instance->database;
+ instance->database = nullptr;
+ LogDefault(config_domain,
+ "Found database setting without "
+ "music_directory - disabling database");
+ return true;
+ }
+
if (!instance->database->Open(error))
FatalError(error);
@@ -199,10 +210,6 @@ glue_db_init_and_load(void)
static bool
InitDatabaseAndStorage()
{
- Error error;
- if (!InitStorage(error))
- FatalError(error);
-
const bool create_db = !glue_db_init_and_load();
return create_db;
}
diff --git a/src/db/Configured.cxx b/src/db/Configured.cxx
index a6194dc5c..edd3159f9 100644
--- a/src/db/Configured.cxx
+++ b/src/db/Configured.cxx
@@ -28,7 +28,7 @@
Database *
CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
- bool have_storage, bool &is_simple_r, Error &error)
+ bool &is_simple_r, Error &error)
{
const struct config_param *param = config_get_param(CONF_DATABASE);
const struct config_param *path = config_get_param(CONF_DB_FILE);
@@ -40,18 +40,6 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
return nullptr;
}
- if (!have_storage) {
- if (param != nullptr)
- LogDefault(config_domain,
- "Found database setting without "
- "music_directory - disabling database");
- if (path != nullptr)
- LogDefault(config_domain,
- "Found db_file setting without "
- "music_directory - disabling database");
- return nullptr;
- }
-
struct config_param *allocated = nullptr;
if (param == nullptr && path != nullptr) {
diff --git a/src/db/Configured.hxx b/src/db/Configured.hxx
index 0cd054b4b..4e4299bfc 100644
--- a/src/db/Configured.hxx
+++ b/src/db/Configured.hxx
@@ -34,6 +34,6 @@ class Error;
*/
Database *
CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
- bool have_storage, bool &is_simple_r, Error &error);
+ bool &is_simple_r, Error &error);
#endif