From 8ea52ae212cba24df25c5a640e81581d06ed1174 Mon Sep 17 00:00:00 2001 From: Geert Janssens Date: Wed, 22 Sep 2021 15:44:30 +0200 Subject: [PATCH] GSettings - run data model transations while setting up This makes sure all schema changes are in effect before the first consumer can query them. For example this will prevent a one-time re-occurrence of the tip of the day dialog the first time the new migrations are run. --- gnucash/gnucash.cpp | 3 --- libgnucash/app-utils/gnc-gsettings.cpp | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gnucash/gnucash.cpp b/gnucash/gnucash.cpp index 2ab37cb00f..1be769bfbb 100644 --- a/gnucash/gnucash.cpp +++ b/gnucash/gnucash.cpp @@ -145,9 +145,6 @@ scm_run_gnucash (void *data, [[maybe_unused]] int argc, [[maybe_unused]] char ** scm_set_current_module(main_mod); scm_c_use_module("gnucash app-utils"); - /* Check whether the settings need a version update */ - gnc_gsettings_version_upgrade (); - gnc_gnome_utils_init(); gnc_search_core_initialize (); gnc_hook_add_dangler(HOOK_UI_SHUTDOWN, (GFunc)gnc_search_core_finalize, NULL, NULL); diff --git a/libgnucash/app-utils/gnc-gsettings.cpp b/libgnucash/app-utils/gnc-gsettings.cpp index 6e8bb9bd7e..9288f6f515 100644 --- a/libgnucash/app-utils/gnc-gsettings.cpp +++ b/libgnucash/app-utils/gnc-gsettings.cpp @@ -627,6 +627,10 @@ void gnc_gsettings_load_backend (void) prefsbackend->block_all = gnc_gsettings_block_all; prefsbackend->unblock_all = gnc_gsettings_unblock_all; + /* Run any data model changes for the backend before it's used + * by anyone */ + gnc_gsettings_version_upgrade(); + LEAVE("Prefsbackend bind = %p", prefsbackend->bind); }