File 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch of Package wireplumber.25464

From 7e6e0e9ba044ca95365f6ceb9f8ae301aac994ae Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pav@iki.fi>
Date: Tue, 22 Mar 2022 20:51:02 +0200
Subject: [PATCH] src: setlocale in main() for tools and the daemon

Previously, pw_init calls setlocale(), but this will change in future.
Setting the locale should be done by the main application, and is needed
in wireplumber for e.g. for translated UI elements.

Set the locale in main() for wireplumber daemon and tools, to have the
locale set also with the new pw_init behavior.

Set also LC_NUMERIC to C, to match old pw_init behavior.
---
 src/main.c         | 3 +++
 src/tools/wpctl.c  | 3 +++
 src/tools/wpexec.c | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/src/main.c b/src/main.c
index 3bfaf98e..7e12d29e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,6 +10,7 @@
 #include <glib-unix.h>
 #include <pipewire/pipewire.h>
 #include <spa/utils/json.h>
+#include <locale.h>
 
 #define WP_DOMAIN_DAEMON (wp_domain_daemon_quark ())
 static G_DEFINE_QUARK (wireplumber-daemon, wp_domain_daemon);
@@ -402,6 +403,8 @@ main (gint argc, gchar **argv)
   g_autoptr (WpProperties) properties = NULL;
   g_autofree gchar *config_file_path = NULL;
 
+  setlocale (LC_ALL, "");
+  setlocale (LC_NUMERIC, "C");
   wp_init (WP_INIT_ALL);
 
   context = g_option_context_new ("- PipeWire Session/Policy Manager");
diff --git a/src/tools/wpctl.c b/src/tools/wpctl.c
index 8b0fe0aa..81aa936f 100644
--- a/src/tools/wpctl.c
+++ b/src/tools/wpctl.c
@@ -8,6 +8,7 @@
 
 #include <wp/wp.h>
 #include <stdio.h>
+#include <locale.h>
 #include <spa/utils/defs.h>
 #include <pipewire/keys.h>
 #include <pipewire/extensions/session-manager/keys.h>
@@ -1114,6 +1115,8 @@ main (gint argc, gchar **argv)
   g_autoptr (GError) error = NULL;
   g_autofree gchar *summary = NULL;
 
+  setlocale (LC_ALL, "");
+  setlocale (LC_NUMERIC, "C");
   wp_init (WP_INIT_ALL);
 
   ctl.context = g_option_context_new (
diff --git a/src/tools/wpexec.c b/src/tools/wpexec.c
index 5e7a4b52..79d90e51 100644
--- a/src/tools/wpexec.c
+++ b/src/tools/wpexec.c
@@ -10,6 +10,7 @@
 #include <glib-unix.h>
 #include <pipewire/keys.h>
 #include <stdio.h>
+#include <locale.h>
 
 #define WP_DOMAIN_DAEMON (wp_domain_daemon_quark ())
 static G_DEFINE_QUARK (wireplumber-daemon, wp_domain_daemon);
@@ -219,6 +220,8 @@ main (gint argc, gchar **argv)
   g_autoptr (GOptionContext) context = NULL;
   g_autoptr (GError) error = NULL;
 
+  setlocale (LC_ALL, "");
+  setlocale (LC_NUMERIC, "C");
   wp_init (WP_INIT_ALL);
 
   context = g_option_context_new ("- WirePlumber script interpreter");
-- 
GitLab

openSUSE Build Service is sponsored by