gnucash unstable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat Apr 14 15:50:32 EDT 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/a04fd573 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4e3bf5a5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/f680823d (commit)



commit a04fd573efca43e432085fc92aecf9f2067063d5
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Apr 14 12:33:00 2018 -0700

    Bug 792105 - Startup takes several minutes
    
    set/get_locale are apparently very expensive on Mingw64, and setting
    the C locale for extracting a string is unnecessary.
    
    Unfortunately the released version of libdbi still uses strtod so
    setting the C locale *is* still necessary for retrieving floats
    and doubles and for passing queries.
    
    Thanks to Mkubat for the diagnosis.

diff --git a/libgnucash/backend/dbi/gnc-dbisqlresult.cpp b/libgnucash/backend/dbi/gnc-dbisqlresult.cpp
index 61f1664..3a4e495 100644
--- a/libgnucash/backend/dbi/gnc-dbisqlresult.cpp
+++ b/libgnucash/backend/dbi/gnc-dbisqlresult.cpp
@@ -144,7 +144,6 @@ GncDbiSqlResult::IteratorImpl::get_string_at_col(const char* col) const
     auto attrs = dbi_result_get_field_attribs (m_inst->m_dbi_result, col);
     if(type != DBI_TYPE_STRING)
         throw (std::invalid_argument{"Requested string from non-string column."});
-    gnc_push_locale (LC_NUMERIC, "C");
     auto strval = dbi_result_get_string(m_inst->m_dbi_result, col);
     if (strval == nullptr)
     {
@@ -152,7 +151,6 @@ GncDbiSqlResult::IteratorImpl::get_string_at_col(const char* col) const
         throw (std::invalid_argument{"Column empty."});
     }
     auto retval =  std::string{strval};
-    gnc_pop_locale (LC_NUMERIC);
     return retval;
 }
 time64

commit 4e3bf5a5cbaebe40ed58e16a4c574f49cc87c747
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Mar 21 11:30:44 2016 +0100

    Bug 118391 - Long currency names untranslated
    
    Fix for Win32

diff --git a/gnucash/gnucash-bin.c b/gnucash/gnucash-bin.c
index 248ffaa..51525ec 100644
--- a/gnucash/gnucash-bin.c
+++ b/gnucash/gnucash-bin.c
@@ -775,7 +775,9 @@ main(int argc, char ** argv)
     {
         gchar *localedir = gnc_path_get_localedir();
         bindtextdomain(GETTEXT_PACKAGE, localedir);
-        textdomain(GETTEXT_PACKAGE);
+	bindtextdomain("iso_4217", localedir); // For win32 to find currency name translations
+	bind_textdomain_codeset("iso_4217", "UTF-8");
+	textdomain(GETTEXT_PACKAGE);
         bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
         g_free(localedir);
     }



Summary of changes:
 gnucash/gnucash-bin.c                       | 4 +++-
 libgnucash/backend/dbi/gnc-dbisqlresult.cpp | 2 --
 2 files changed, 3 insertions(+), 3 deletions(-)



More information about the gnucash-changes mailing list