diff src/gui_gtk_x11.c @ 4045:9a1a4c486e6b v7.3.777

updated for version 7.3.777 Problem: When building with Gnome locale gets reset. Solution: Set locale after gnome_program_init(). (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Wed, 23 Jan 2013 16:00:11 +0100
parents 7bafe52b6245
children 36fd800b8c6c
line wrap: on
line diff
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -3130,8 +3130,16 @@ gui_mch_init(void)
      * exits on failure, but that's a non-issue because we already called
      * gtk_init_check() in gui_mch_init_check(). */
     if (using_gnome)
+    {
 	gnome_program_init(VIMPACKAGE, VIM_VERSION_SHORT,
 			   LIBGNOMEUI_MODULE, gui_argc, gui_argv, NULL);
+# if defined(FEAT_FLOAT) && defined(LC_NUMERIC)
+	/* Make sure strtod() uses a decimal point, not a comma. Gnome init
+	 * may change it. */
+	if (setlocale(LC_NUMERIC, NULL) != (char *) "C")
+	   setlocale(LC_NUMERIC, "C");
+# endif
+    }
 #endif
     vim_free(gui_argv);
     gui_argv = NULL;