mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 16:32:18 +01:00 
			
		
		
		
	Merge branch 'wip/baedert/keyfile' into 'master'
keyfile: Delay calling g_get_language_names() until it's needed See merge request GNOME/glib!1829
This commit is contained in:
		| @@ -510,6 +510,7 @@ struct _GKeyFile | ||||
|  | ||||
|   GKeyFileFlags flags; | ||||
|  | ||||
|   gboolean checked_locales; | ||||
|   gchar **locales; | ||||
|  | ||||
|   gint ref_count;  /* (atomic) */ | ||||
| @@ -635,7 +636,6 @@ g_key_file_init (GKeyFile *key_file) | ||||
|   key_file->parse_buffer = g_string_sized_new (128); | ||||
|   key_file->list_separator = ';'; | ||||
|   key_file->flags = 0; | ||||
|   key_file->locales = g_strdupv ((gchar **)g_get_language_names ()); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -1232,6 +1232,12 @@ g_key_file_locale_is_interesting (GKeyFile    *key_file, | ||||
|   if (key_file->flags & G_KEY_FILE_KEEP_TRANSLATIONS) | ||||
|     return TRUE; | ||||
|  | ||||
|   if (!key_file->checked_locales && !key_file->locales) | ||||
|     { | ||||
|       key_file->locales = g_strdupv ((gchar **)g_get_language_names ()); | ||||
|       key_file->checked_locales = TRUE; | ||||
|     } | ||||
|  | ||||
|   for (i = 0; key_file->locales[i] != NULL; i++) | ||||
|     { | ||||
|       if (g_ascii_strcasecmp (key_file->locales[i], locale) == 0) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user