diff --git a/src/Instance.hxx b/src/Instance.hxx index a2c141dc7..ea60072cb 100644 --- a/src/Instance.hxx +++ b/src/Instance.hxx @@ -62,6 +62,12 @@ struct Instance final Partition *partition; + Instance() { +#ifdef ENABLE_DATABASE + update = nullptr; +#endif + } + #ifdef ENABLE_DATABASE void DeleteSong(const char *uri); diff --git a/src/Main.cxx b/src/Main.cxx index 3cedfe267..d7d13e2b3 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -204,8 +204,13 @@ glue_db_init_and_load(void) if (!DatabaseGlobalOpen(error)) FatalError(error); + if (!db_is_simple()) + return true; + + instance->update = new UpdateService(*main_loop, db_get_simple()); + /* run database update after daemonization? */ - return !db_is_simple() || db_exists(); + return db_exists(); } #endif @@ -459,10 +464,6 @@ int mpd_main(int argc, char *argv[]) #ifdef ENABLE_DATABASE const bool create_db = !glue_db_init_and_load(); - - instance->update = db_is_simple() - ? new UpdateService(*main_loop, db_get_simple()) - : nullptr; #endif glue_sticker_init();