File glib-goption-disable-localization.patch of Package mingw32-glib2

--- glib/glib.symbols	2010-09-17 17:41:12.000000000 +0200
+++ glib/glib.symbols	2010-09-27 09:09:52.000000000 +0200
@@ -905,6 +905,7 @@
 g_option_context_add_main_entries
 g_option_error_quark
 g_option_context_free
+g_option_context_get_delocalize
 g_option_context_get_description
 g_option_context_get_help_enabled
 g_option_context_get_ignore_unknown_options
@@ -912,6 +913,7 @@
 g_option_context_get_summary
 g_option_context_new
 g_option_context_parse
+g_option_context_set_delocalize
 g_option_context_set_description
 g_option_context_set_help_enabled
 g_option_context_set_ignore_unknown_options
--- glib/goption.c	2010-09-17 19:14:23.000000000 +0200
+++ glib/goption.c	2010-09-27 09:09:52.000000000 +0200
@@ -197,6 +197,7 @@
 
   guint            help_enabled   : 1;
   guint            ignore_unknown : 1;
+  guint		   delocalize : 1;
 
   GOptionGroup    *main_group;
 
@@ -336,6 +337,7 @@
   context->parameter_string = g_strdup (parameter_string);
   context->help_enabled = TRUE;
   context->ignore_unknown = FALSE;
+  context->delocalize = TRUE;
 
   return context;
 }
@@ -462,6 +464,23 @@
   return context->ignore_unknown;
 }
 
+void
+g_option_context_set_delocalize (GOptionContext *context,
+				 gboolean	 delocalize)
+{
+  g_return_if_fail (context != NULL);
+
+  context->delocalize = delocalize;
+}
+
+gboolean
+g_option_context_get_delocalize (GOptionContext *context)
+{
+  g_return_if_fail (context != NULL);
+
+  return context->delocalize;
+}
+
 /**
  * g_option_context_add_group:
  * @context: a #GOptionContext
@@ -1151,7 +1170,10 @@
       {
         gchar *data;
 
+	if (context->delocalize)
         data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+	else
+	    data = g_strdup (value);
 
         if (!data)
           return FALSE;
@@ -1170,7 +1192,10 @@
       {
         gchar *data;
 
+	if (context->delocalize)
         data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+	else
+	    data = g_strdup (value);
 
         if (!data)
           return FALSE;
@@ -1203,7 +1228,10 @@
         gchar *data;
 
 #ifdef G_OS_WIN32
+	if (context->delocalize)
         data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+	else
+	    data = g_strdup (value);
 
         if (!data)
           return FALSE;
@@ -1226,7 +1254,10 @@
         gchar *data;
 
 #ifdef G_OS_WIN32
+	if (context->delocalize)
         data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+	else
+	    data = g_strdup (value);
 
         if (!data)
           return FALSE;
@@ -1283,13 +1314,21 @@
         else if (entry->flags & G_OPTION_FLAG_FILENAME)
           {
 #ifdef G_OS_WIN32
+	    if (context->delocalize)
             data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+	    else
+		data = g_strdup (value);
 #else
             data = g_strdup (value);
 #endif
           }
         else
+	  {
+	    if (context->delocalize)
           data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+	    else
+		data = g_strdup (value);
+	  }
 
         if (!(entry->flags & (G_OPTION_FLAG_NO_ARG|G_OPTION_FLAG_OPTIONAL_ARG)) &&
             !data)
--- glib/goption.h	2010-07-07 22:57:11.000000000 +0200
+++ glib/goption.h	2010-09-27 09:09:52.000000000 +0200
@@ -321,6 +321,9 @@
 void		g_option_context_set_ignore_unknown_options (GOptionContext *context,
 							     gboolean	     ignore_unknown);
 gboolean        g_option_context_get_ignore_unknown_options (GOptionContext *context);
+void		g_option_context_set_delocalize (GOptionContext *context,
+							     gboolean	     ignore_unknown);
+gboolean        g_option_context_get_delocalize (GOptionContext *context);
 
 void            g_option_context_add_main_entries (GOptionContext      *context,
 						   const GOptionEntry  *entries,
openSUSE Build Service is sponsored by