summaryrefslogtreecommitdiffstats
path: root/vlc/build/projectM_locale.patch
blob: 0fcf01b68af3aa5eefcba0c435aa6f5ecbe21f47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From: Ilkka Ollakka <ileoo@videolan.org>
Date: Mon, 29 Nov 2010 20:06:40 +0000 (+0200)
Subject: projectm: quick fix to get projectm visualisation to work on all locales
X-Git-Url: http://git.videolan.org/?p=vlc%2Fvlc-1.1.git;a=commitdiff_plain;h=335126fac9729d0122f72591a324b4c7efde5339

projectm: quick fix to get projectm visualisation to work on all locales
(cherry picked from commit 3b9074b2edc6aabd9e6f6408a7e14625b9b86912)

Signed-off-by: Ilkka Ollakka <ileoo@videolan.org>
---

diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp
index 90ca9c8..1dd0feb 100644
--- a/modules/visualization/projectm.cpp
+++ b/modules/visualization/projectm.cpp
@@ -292,6 +292,8 @@ static void *Thread( void *p_data )
     vout_opengl_t *gl;
     int i_last_width  = 0;
     int i_last_height = 0;
+    locale_t loc;
+    locale_t oldloc;
 #ifdef HAVE_PROJECTM2
     projectM::Settings settings;
 #endif
@@ -339,6 +341,8 @@ static void *Thread( void *p_data )
         goto error;
     }
 
+    loc = newlocale (LC_NUMERIC_MASK, "C", NULL);
+    oldloc = uselocale (loc);
     /* Create the projectM object */
 #ifndef HAVE_PROJECTM2
     p_sys->p_projectm = new projectM( p_sys->psz_config );
@@ -402,6 +406,11 @@ static void *Thread( void *p_data )
             delete p_sys->p_projectm;
             vout_DeleteDisplay( p_sys->p_vd, NULL );
             vlc_object_release( p_sys->p_vout );
+            if (loc != (locale_t)0)
+            {
+                uselocale (oldloc);
+                freelocale (loc);
+            }
             return NULL;
         }
         vlc_mutex_unlock( &p_sys->lock );