diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 6a2449cf4b33c0f8009c6b91b024cd3e4d855f9e..d48f4ad0f5e3c99b1485442caeecce0156edf8f7 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -65,7 +65,7 @@ LLPluginClassMedia::~LLPluginClassMedia() reset(); } -bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path) +bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path, const std::string &language_code) { LL_DEBUGS("Plugin") << "launcher: " << launcher_filename << LL_ENDL; LL_DEBUGS("Plugin") << "plugin: " << plugin_filename << LL_ENDL; @@ -73,7 +73,7 @@ bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::s mPlugin = new LLPluginProcessParent(this); mPlugin->setSleepTime(mSleepTime); - mPlugin->init(launcher_filename, plugin_filename, debug, user_data_path); + mPlugin->init(launcher_filename, plugin_filename, debug, user_data_path,language_code); return true; } diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index 58e91fa0b433bae23ab10b404ce62cf4ad1affb0..ce49241e84f7dc91a9393a3cb68440560cb7e8cd 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -49,7 +49,11 @@ class LLPluginClassMedia : public LLPluginProcessParentOwner virtual ~LLPluginClassMedia(); // local initialization, called by the media manager when creating a source - virtual bool init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path); + virtual bool init(const std::string &launcher_filename, + const std::string &plugin_filename, + bool debug, + const std::string &user_data_path, + const std::string &language_code); // undoes everything init() didm called by the media manager when destroying a source virtual void reset(); diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp index 52b5a319ecbc5aff9da0bd546ccf88c50b24e80c..9b43ec0e3eedee89e4a8caacbdc87fc2d48fd380 100644 --- a/indra/llplugin/llpluginprocesschild.cpp +++ b/indra/llplugin/llpluginprocesschild.cpp @@ -156,6 +156,7 @@ void LLPluginProcessChild::idle(void) setState(STATE_PLUGIN_INITIALIZING); LLPluginMessage message("base", "init"); message.setValue("user_data_path", mUserDataPath); + message.setValue("language_code", mLanguageCode); sendMessageToPlugin(message); } break; @@ -329,6 +330,7 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message) { mPluginFile = parsed.getValue("file"); mUserDataPath = parsed.getValue("user_data_path"); + mLanguageCode = parsed.getValue("language_code"); } else if(message_name == "shm_add") { diff --git a/indra/llplugin/llpluginprocesschild.h b/indra/llplugin/llpluginprocesschild.h index 58f8935ed1aa554f4b536e5b397776615550936a..af76ec1fa53a0c848d2f225bb605ac59705cf3e4 100644 --- a/indra/llplugin/llpluginprocesschild.h +++ b/indra/llplugin/llpluginprocesschild.h @@ -99,6 +99,7 @@ class LLPluginProcessChild: public LLPluginMessagePipeOwner, public LLPluginInst std::string mPluginFile; std::string mUserDataPath; + std::string mLanguageCode; LLPluginInstance *mInstance; diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index efd5df687e5318183783def3442ebcdc859b199f..0ce2c759bace238aa0d9dbab26d64447e0faae67 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -98,13 +98,14 @@ void LLPluginProcessParent::errorState(void) setState(STATE_ERROR); } -void LLPluginProcessParent::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path) +void LLPluginProcessParent::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path, const std::string &language_code) { mProcess.setExecutable(launcher_filename); mPluginFile = plugin_filename; mCPUUsage = 0.0f; mDebug = debug; mUserDataPath = user_data_path; + mLanguageCode = language_code; setState(STATE_INITIALIZED); } @@ -363,6 +364,7 @@ void LLPluginProcessParent::idle(void) LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_INTERNAL, "load_plugin"); message.setValue("file", mPluginFile); message.setValue("user_data_path", mUserDataPath); + message.setValue("language_code", mLanguageCode); sendMessage(message); } diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h index 524cd9923fb5e7e80f89d042d45695c5f70311f9..23702814c8b9168e1a6804185b3d386d250c76ae 100644 --- a/indra/llplugin/llpluginprocessparent.h +++ b/indra/llplugin/llpluginprocessparent.h @@ -59,7 +59,12 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner LLPluginProcessParent(LLPluginProcessParentOwner *owner); ~LLPluginProcessParent(); - void init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path); + void init(const std::string &launcher_filename, + const std::string &plugin_filename, + bool debug, + const std::string &user_data_path, + const std::string &language_code); + void idle(void); // returns true if the plugin is on its way to steady state @@ -144,6 +149,7 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner std::string mPluginFile; std::string mUserDataPath; + std::string mLanguageCode; LLPluginProcessParentOwner *mOwner; diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 85efe2724e44e26536ba45f42e6532b2a27e6844..64dcd62a6a0e1f260036c9e01004334193e48578 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1258,7 +1258,8 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ { LLPluginClassMedia* media_source = new LLPluginClassMedia(owner); media_source->setSize(default_width, default_height); - if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"), user_data_path)) + std::string language_code = LLUI::getLanguage(); + if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"), user_data_path, language_code)) { return media_source; } diff --git a/install.xml b/install.xml index 2a6083a5c00d4619c9b418af8c766ec2243569d0..7337241cf8e405746aa4b59e084b14fce3b14e33 100644 --- a/install.xml +++ b/install.xml @@ -962,9 +962,9 @@ anguage Infrstructure (CLI) international standard</string> <key>windows</key> <map> <key>md5sum</key> - <string>1e9798dc424a6f6c2bea50649bbcc7ae</string> + <string>ee5d242ea468ba9a82d2bf8581aa308d</string> <key>url</key> - <uri>http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-windows-qt4.6-20100210.tar.bz2</uri> + <uri>http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-windows-qt4.6-20100312.tar.bz2</uri> </map> </map> </map>