summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-09-06 01:37:51 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-09-06 01:38:47 -0400
commit72dc9a21f79f66ddd7db3daac05d421afc93d5c1 (patch)
tree8c0a4e13e1d62065b721cad18eb661cd02712f17
parent07bff74544269ce98f4d00872ef250c1b2374ce1 (diff)
downloadgtk+-setlocale-gapplication-help.tar.gz
GtkApplication: Call setlocale earlysetlocale-gapplication-help
If we don't call setlocale early enough, --help output may come out misformatted. Fixes: #4234
-rw-r--r--gtk/gtkapplication.c3
-rw-r--r--gtk/gtkmain.c2
-rw-r--r--gtk/gtkprivate.h2
3 files changed, 6 insertions, 1 deletions
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index c26e15cadb..1408c0d9d2 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -294,6 +294,9 @@ gtk_application_local_command_line (GApplication *application,
char ***arguments,
int *exit_status)
{
+ /* We need to call setlocale() here so --help output works */
+ setlocale_initialization ();
+
return G_APPLICATION_CLASS (gtk_application_parent_class)->local_command_line (application, arguments, exit_status);
}
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index e498822212..6dd0f7e871 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -362,7 +362,7 @@ enum_locale_proc (LPTSTR locale)
#endif
-static void
+void
setlocale_initialization (void)
{
static gboolean initialized = FALSE;
diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h
index 8cb11c761c..3495e07efc 100644
--- a/gtk/gtkprivate.h
+++ b/gtk/gtkprivate.h
@@ -150,6 +150,8 @@ GBytes *get_emoji_data (void);
char * _gtk_elide_underscores (const char *original);
+void setlocale_initialization (void);
+
G_END_DECLS
#endif /* __GTK_PRIVATE_H__ */