diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.cpp | 4 | ||||
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer_syms.cpp | 2 | ||||
-rw-r--r-- | linden/indra/llmedia/llmediaimplllmozlib.cpp | 40 |
3 files changed, 11 insertions, 35 deletions
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.cpp b/linden/indra/llmedia/llmediaimplgstreamer.cpp index b54d088..8b0363a 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamer.cpp | |||
@@ -185,11 +185,15 @@ startup ( LLMediaManagerData* init_data ) | |||
185 | else | 185 | else |
186 | WARNMSG("gst_segtrap_set_enabled() is not available; Automated crash-reporter may cease to function until next restart."); | 186 | WARNMSG("gst_segtrap_set_enabled() is not available; Automated crash-reporter may cease to function until next restart."); |
187 | 187 | ||
188 | // Protect against GStreamer resetting the locale, yuck. | ||
189 | std::string saved_locale = setlocale(LC_ALL, NULL); | ||
188 | if (0 == llgst_init_check(NULL, NULL, NULL)) | 190 | if (0 == llgst_init_check(NULL, NULL, NULL)) |
189 | { | 191 | { |
190 | WARNMSG("GST init failed for unspecified reason."); | 192 | WARNMSG("GST init failed for unspecified reason."); |
193 | setlocale(LC_ALL, saved_locale.c_str() ); | ||
191 | return false; | 194 | return false; |
192 | } | 195 | } |
196 | setlocale(LC_ALL, saved_locale.c_str() ); | ||
193 | 197 | ||
194 | // Init our custom plugins - only really need do this once. | 198 | // Init our custom plugins - only really need do this once. |
195 | gst_slvideo_init_class(); | 199 | gst_slvideo_init_class(); |
diff --git a/linden/indra/llmedia/llmediaimplgstreamer_syms.cpp b/linden/indra/llmedia/llmediaimplgstreamer_syms.cpp index bba3ef5..c5e3c7b 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer_syms.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamer_syms.cpp | |||
@@ -124,7 +124,7 @@ bool grab_gst_syms(std::string gst_dso_name, | |||
124 | } | 124 | } |
125 | else | 125 | else |
126 | { | 126 | { |
127 | INFOMSG("Couldn't load DSO: ", gst_dso_name.c_str()); | 127 | INFOMSG("Couldn't load DSO: %s", gst_dso_name.c_str()); |
128 | rtn = false; // failure | 128 | rtn = false; // failure |
129 | } | 129 | } |
130 | 130 | ||
diff --git a/linden/indra/llmedia/llmediaimplllmozlib.cpp b/linden/indra/llmedia/llmediaimplllmozlib.cpp index 87d9c77..5efaa59 100644 --- a/linden/indra/llmedia/llmediaimplllmozlib.cpp +++ b/linden/indra/llmedia/llmediaimplllmozlib.cpp | |||
@@ -47,7 +47,10 @@ | |||
47 | // Linux, MESA headers, but not necessarily assuming MESA runtime. | 47 | // Linux, MESA headers, but not necessarily assuming MESA runtime. |
48 | // quotes so we get libraries/.../GL/ version | 48 | // quotes so we get libraries/.../GL/ version |
49 | #include "GL/gl.h" | 49 | #include "GL/gl.h" |
50 | #include <locale.h> | 50 | #endif |
51 | |||
52 | #if LL_LINUX | ||
53 | #include <locale.h> | ||
51 | #endif | 54 | #endif |
52 | 55 | ||
53 | #include <iostream> | 56 | #include <iostream> |
@@ -59,7 +62,8 @@ static LLMediaImplRegister sLLMediaImplLLMozLibReg( "LLMediaImplLLMozLib", new L | |||
59 | // | 62 | // |
60 | LLMediaImplLLMozLibMaker::LLMediaImplLLMozLibMaker() | 63 | LLMediaImplLLMozLibMaker::LLMediaImplLLMozLibMaker() |
61 | { | 64 | { |
62 | // Register to handle the scheme | 65 | // Register to handle the mime category |
66 | mMimeTypes.push_back( "image/svg+xml" ); | ||
63 | mMimeTypeCategories.push_back( "text" ); | 67 | mMimeTypeCategories.push_back( "text" ); |
64 | #if !LL_QUICKTIME_ENABLED | 68 | #if !LL_QUICKTIME_ENABLED |
65 | mMimeTypeCategories.push_back( "image" ); | 69 | mMimeTypeCategories.push_back( "image" ); |
@@ -198,17 +202,9 @@ bool LLMediaImplLLMozLib::setCaretColor( unsigned int red, unsigned int green, u | |||
198 | // virtual | 202 | // virtual |
199 | bool LLMediaImplLLMozLib::navigateTo( const std::string url ) | 203 | bool LLMediaImplLLMozLib::navigateTo( const std::string url ) |
200 | { | 204 | { |
201 | #if LL_LINUX | ||
202 | std::string saved_locale = setlocale(LC_ALL, NULL); | ||
203 | #endif // LL_LINUX | ||
204 | |||
205 | // pass url to llmozlib | 205 | // pass url to llmozlib |
206 | LLMozLib::getInstance()->navigateTo( mWindowId, url ); | 206 | LLMozLib::getInstance()->navigateTo( mWindowId, url ); |
207 | 207 | ||
208 | #if LL_LINUX | ||
209 | setlocale(LC_ALL, saved_locale.c_str() ); | ||
210 | #endif // LL_LINUX | ||
211 | |||
212 | // emit event with size change to kick things off | 208 | // emit event with size change to kick things off |
213 | LLMediaEvent event( this ); | 209 | LLMediaEvent event( this ); |
214 | mEventEmitter.update( &LLMediaObserver::onMediaSizeChange, event ); | 210 | mEventEmitter.update( &LLMediaObserver::onMediaSizeChange, event ); |
@@ -264,10 +260,6 @@ bool LLMediaImplLLMozLib::updateState() | |||
264 | clearCommand(); | 260 | clearCommand(); |
265 | }; | 261 | }; |
266 | 262 | ||
267 | #if LL_LINUX | ||
268 | std::string saved_locale = setlocale(LC_ALL, NULL); | ||
269 | #endif // LL_LINUX | ||
270 | |||
271 | if ( nextCommand() == LLMediaBase::COMMAND_BACK ) | 263 | if ( nextCommand() == LLMediaBase::COMMAND_BACK ) |
272 | { | 264 | { |
273 | setStatus( LLMediaBase::STATUS_STARTED ); | 265 | setStatus( LLMediaBase::STATUS_STARTED ); |
@@ -282,10 +274,6 @@ bool LLMediaImplLLMozLib::updateState() | |||
282 | clearCommand(); | 274 | clearCommand(); |
283 | }; | 275 | }; |
284 | 276 | ||
285 | #if LL_LINUX | ||
286 | setlocale(LC_ALL, saved_locale.c_str() ); | ||
287 | #endif // LL_LINUX | ||
288 | |||
289 | return true; | 277 | return true; |
290 | } | 278 | } |
291 | 279 | ||
@@ -382,16 +370,8 @@ bool LLMediaImplLLMozLib::recomputeSizes() | |||
382 | new_height = LLMediaManager::textureHeightFromMediaHeight( new_height ); | 370 | new_height = LLMediaManager::textureHeightFromMediaHeight( new_height ); |
383 | } | 371 | } |
384 | 372 | ||
385 | #if LL_LINUX | ||
386 | std::string saved_locale = setlocale(LC_ALL, NULL); | ||
387 | #endif // LL_LINUX | ||
388 | |||
389 | bool status = LLMozLib::getInstance()->setSize( mWindowId, new_width, new_height ); | 373 | bool status = LLMozLib::getInstance()->setSize( mWindowId, new_width, new_height ); |
390 | 374 | ||
391 | #if LL_LINUX | ||
392 | setlocale(LC_ALL, saved_locale.c_str() ); | ||
393 | #endif // LL_LINUX | ||
394 | |||
395 | if (status) | 375 | if (status) |
396 | setMediaSize(new_width, new_height); | 376 | setMediaSize(new_width, new_height); |
397 | 377 | ||
@@ -623,20 +603,12 @@ bool LLMediaImplLLMozLib::clearCookies() | |||
623 | // virtual | 603 | // virtual |
624 | bool LLMediaImplLLMozLib::reset() | 604 | bool LLMediaImplLLMozLib::reset() |
625 | { | 605 | { |
626 | #if LL_LINUX | ||
627 | std::string saved_locale = setlocale(LC_ALL, NULL); | ||
628 | #endif // LL_LINUX | ||
629 | |||
630 | LLMozLib::getInstance()->remObserver( mWindowId, this ); | 606 | LLMozLib::getInstance()->remObserver( mWindowId, this ); |
631 | 607 | ||
632 | LLMozLib::getInstance()->destroyBrowserWindow( mWindowId ); | 608 | LLMozLib::getInstance()->destroyBrowserWindow( mWindowId ); |
633 | 609 | ||
634 | mWindowId = 0; | 610 | mWindowId = 0; |
635 | 611 | ||
636 | #if LL_LINUX | ||
637 | setlocale(LC_ALL, saved_locale.c_str() ); | ||
638 | #endif // LL_LINUX | ||
639 | |||
640 | return true; | 612 | return true; |
641 | } | 613 | } |
642 | 614 | ||