gnucash master: Use another way to fix backend loading on OS X

Geert Janssens gjanssens at code.gnucash.org
Thu Aug 17 04:10:56 EDT 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/0946b031 (commit)
	from  https://github.com/Gnucash/gnucash/commit/cc39a04f (commit)



commit 0946b0315fcc2509390bcf6cac7c02328006e34b
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Aug 17 10:10:50 2017 +0200

    Use another way to fix backend loading on OS X

diff --git a/libgnucash/engine/gnc-engine.c b/libgnucash/engine/gnc-engine.c
index 34d1348..0cb344d 100644
--- a/libgnucash/engine/gnc-engine.c
+++ b/libgnucash/engine/gnc-engine.c
@@ -74,9 +74,9 @@ gnc_engine_init_part2()
     } libs[] =
     {
 #if defined( HAVE_DBI_DBI_H )
-        { "gnucash", "gncmod-backend-dbi", TRUE },
+        { "dbi", "gncmod-backend-dbi", TRUE },
 #endif
-        { "gnucash", "gncmod-backend-xml", TRUE },
+        { "xml", "gncmod-backend-xml", TRUE },
         { NULL, FALSE }
     }, *lib;
 
diff --git a/libgnucash/engine/qof-backend.cpp b/libgnucash/engine/qof-backend.cpp
index cc87947..4c4aef9 100644
--- a/libgnucash/engine/qof-backend.cpp
+++ b/libgnucash/engine/qof-backend.cpp
@@ -137,16 +137,16 @@ QofBackend::register_backend(const char* directory, const char* module_name)
     if (!absdir || !g_path_is_absolute(absdir))
         absdir = get_default_module_dir(directory);
     auto fullpath = g_module_build_path (absdir, module_name);
-    g_free (absdir);
 /* Darwin modules can have either .so or .dylib for a suffix */
     if (!g_file_test (fullpath, G_FILE_TEST_EXISTS) &&
         g_strcmp0 (G_MODULE_SUFFIX, "so") == 0)
     {
         auto modname = g_strdup_printf ("lib%s.dylib", module_name);
         g_free (fullpath);
-        fullpath = g_build_filename (directory, modname, NULL);
+        fullpath = g_build_filename (absdir, modname, NULL);
         g_free (modname);
     }
+    g_free (absdir);
     auto backend = g_module_open (fullpath, G_MODULE_BIND_LAZY);
     g_free (fullpath);
     if (!backend)



Summary of changes:
 libgnucash/engine/gnc-engine.c    | 4 ++--
 libgnucash/engine/qof-backend.cpp | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)



More information about the gnucash-changes mailing list