gnucash master: Fix double registration of backends

Geert Janssens gjanssens at code.gnucash.org
Sat Dec 3 11:33:30 EST 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/8214e526 (commit)
	from  https://github.com/Gnucash/gnucash/commit/9d753789 (commit)



commit 8214e526a72d5010e1f11c0a3c9f830e510fec8c
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Sat Dec 3 17:33:12 2016 +0100

    Fix double registration of backends
    
    This caused all business objects to be saved twice,
    breaking at least the xml data files upon saving.

diff --git a/src/engine/gnc-engine.c b/src/engine/gnc-engine.c
index 6ba252b..28c8eb6 100644
--- a/src/engine/gnc-engine.c
+++ b/src/engine/gnc-engine.c
@@ -56,8 +56,6 @@ gpointer g_error_cb_data;
 static void
 gnc_engine_init_part1()
 {
-    if (1 == engine_is_initialized) return;
-
     /* initialize QOF */
     qof_init();
 
@@ -137,6 +135,8 @@ gnc_engine_init_part3(int argc, char ** argv)
 void
 gnc_engine_init(int argc, char ** argv)
 {
+    if (1 == engine_is_initialized) return;
+
     gnc_engine_init_part1();
     gnc_engine_init_part2();
     gnc_engine_init_part3(argc, argv);
@@ -145,6 +145,8 @@ gnc_engine_init(int argc, char ** argv)
 void
 gnc_engine_init_static(int argc, char ** argv)
 {
+    if (1 == engine_is_initialized) return;
+
     gnc_engine_init_part1();
     gnc_engine_init_part3(argc, argv);
 }



Summary of changes:
 src/engine/gnc-engine.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)



More information about the gnucash-changes mailing list