diff --git a/ChangeLog b/ChangeLog index c09441a1c3..2d32066436 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-05-26 Derek Atkins + + * src/engine/gnc-engine.c: load the qsf backend from the right place. + 2006-05-26 Christian Stimming * src/import-export/hbci/druid-hbci-initial.c: Simplify calling diff --git a/src/engine/gnc-engine.c b/src/engine/gnc-engine.c index a6f1c5f732..2095818740 100644 --- a/src/engine/gnc-engine.c +++ b/src/engine/gnc-engine.c @@ -75,10 +75,15 @@ gnucash_micro_version (void) void gnc_engine_init(int argc, char ** argv) { - static gchar *names[] = { - QSF_BACKEND_LIB, GNC_LIB_NAME, "gnc-backend-postgres", - NULL}; - gchar **np; + static struct { + const gchar* dir; + const gchar* lib; + } libs[] = { + { QOF_LIB_DIR, QSF_BACKEND_LIB }, + { GNC_LIBDIR, GNC_LIB_NAME }, + /* shouldn't the PG gnc-module do this instead of US doing it? */ + { GNC_LIBDIR, "gnc-backend-postgres" }, + { NULL, NULL } }, *lib; gnc_engine_init_hook_t hook; GList * cur; @@ -98,9 +103,11 @@ gnc_engine_init(int argc, char ** argv) /* Now register our core types */ cashobjects_register(); - for (np = names; *np; np++) { - if (qof_load_backend_library(GNC_LIBDIR, *np)) + for (lib = libs; lib->dir && lib->lib ; lib++) { + if (qof_load_backend_library(lib->dir, lib->lib)) engine_is_initialized = 1; + else + g_message("failed to load %s from %s", lib->lib, lib->dir); } /* call any engine hooks */