mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
gst: Don't set the locale in gst_init()
The function init_pre() in gstreamer/gst/gst.c calls setlocale(LC_ALL, ""), which sets the locale to the values specified in the environment. This is wrong for two reasons: 1. It is absolutely not the task of a library to decide on the correct locale for a program. Some programs change the locale for various (good or bad) reasons, and libraries should respect that. Programs where GStreamer's overwriting of the locale causes bugs include Emacs [1, 2], Sublime Text [3], and Lua [4]. [1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12392 [2] http://bugzilla.novell.com/show_bug.cgi?id=779426 [3] http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8543 [4] https://github.com/pavouk/lgi/issues/19 Note that setting the locale can cause problems for programs that are not even linked against GStreamer. In the case of Emacs, for example, GStreamer seems to be initialized through GTK via libcanberra. 2. Setting the locale is not thread-safe, and therefore should not be done in a library. https://bugzilla.gnome.org/show_bug.cgi?id=685650
This commit is contained in:
parent
94185ec94a
commit
9326124581
1 changed files with 0 additions and 1 deletions
|
@ -478,7 +478,6 @@ init_pre (GOptionContext * context, GOptionGroup * group, gpointer data,
|
|||
#endif
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||
#endif /* ENABLE_NLS */
|
||||
|
|
Loading…
Reference in a new issue