wireplumber/0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
Antonio Larrosa 9063458094 Accepting request 965724 from home:alarrosa:branches:multimedia:libs
- Add patch from upstream to set locale in apps now that pw_init
  doesn't call it by itself anymore in pipewire 0.3.49:
  * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch

OBS-URL: https://build.opensuse.org/request/show/965724
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=39
2022-03-29 16:03:31 +00:00

86 lines
2.5 KiB
Diff

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