From 6dcde6469d03b96260b1d00c22a90d76357a28ae Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Tue, 6 Jun 2017 15:30:03 +0300 Subject: [PATCH 01/16] [SL-711] - Eliminate some overheads in texturecache. - Eliminate memory overhead when need duplicated scaled image. - Small improvement in LLImageBase::getCodecFromExtension() --- indra/llimage/llimage.cpp | 60 ++++++++++++++++++++++++++++--- indra/llimage/llimage.h | 3 +- indra/newview/lltexturecache.cpp | 4 +-- indra/newview/llviewertexture.cpp | 6 ++-- 4 files changed, 61 insertions(+), 12 deletions(-) diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp index a07ea14621..ad765b6415 100644 --- a/indra/llimage/llimage.cpp +++ b/indra/llimage/llimage.cpp @@ -1436,7 +1436,7 @@ void LLImageRaw::copyScaled( LLImageRaw* src ) bool LLImageRaw::scale( S32 new_width, S32 new_height, bool scale_image_data ) { S32 components = getComponents(); - if (! ((1 == components) || (3 == components) || (4 == components) )) + if (components != 1 && components != 3 && components != 4) { LL_WARNS() << "Invalid getComponents value (" << components << ")" << LL_ENDL; return false; @@ -1512,6 +1512,55 @@ bool LLImageRaw::scale( S32 new_width, S32 new_height, bool scale_image_data ) return true ; } +LLPointer LLImageRaw::scaled(S32 new_width, S32 new_height) +{ + LLPointer result; + + S32 components = getComponents(); + if (components != 1 && components != 3 && components != 4) + { + LL_WARNS() << "Invalid getComponents value (" << components << ")" << LL_ENDL; + return result; + } + + if (isBufferInvalid()) + { + LL_WARNS() << "Invalid image buffer" << LL_ENDL; + return result; + } + + S32 old_width = getWidth(); + S32 old_height = getHeight(); + + if ((old_width == new_width) && (old_height == new_height)) + { + result = new LLImageRaw(old_width, old_height, components); + if (!result) + { + LL_WARNS() << "Failed to allocate new image" << LL_ENDL; + return result; + } + memcpy(result->getData(), getData(), getDataSize()); + } + else + { + S32 new_data_size = new_width * new_height * components; + + if (new_data_size > 0) + { + result = new LLImageRaw(new_width, new_height, components); + if (!result) + { + LL_WARNS() << "Failed to allocate new image" << LL_ENDL; + return result; + } + bilinear_scale(getData(), old_width, old_height, components, old_width*components, result->getData(), new_width, new_height, components, new_width*components); + } + } + + return result; +} + void LLImageRaw::copyLineScaled( U8* in, U8* out, S32 in_pixel_len, S32 out_pixel_len, S32 in_pixel_step, S32 out_pixel_step ) { const S32 components = getComponents(); @@ -1785,10 +1834,13 @@ static std::string find_file(std::string &name, S8 *codec) #endif EImageCodec LLImageBase::getCodecFromExtension(const std::string& exten) { - for (int i=0; i<(int)(NUM_FILE_EXTENSIONS); i++) + if (!exten.empty()) { - if (exten == file_extensions[i].exten) - return file_extensions[i].codec; + for (int i = 0; i < (int)(NUM_FILE_EXTENSIONS); i++) + { + if (exten == file_extensions[i].exten) + return file_extensions[i].codec; + } } return IMG_CODEC_INVALID; } diff --git a/indra/llimage/llimage.h b/indra/llimage/llimage.h index d0bd4a2aef..958c9fad3d 100644 --- a/indra/llimage/llimage.h +++ b/indra/llimage/llimage.h @@ -215,7 +215,8 @@ public: void expandToPowerOfTwo(S32 max_dim = MAX_IMAGE_SIZE, bool scale_image = true); void contractToPowerOfTwo(S32 max_dim = MAX_IMAGE_SIZE, bool scale_image = true); void biasedScaleToPowerOfTwo(S32 max_dim = MAX_IMAGE_SIZE); - bool scale( S32 new_width, S32 new_height, bool scale_image = true ); + bool scale(S32 new_width, S32 new_height, bool scale_image = true); + LLPointer scaled(S32 new_width, S32 new_height); // Fill the buffer with a constant color void fill( const LLColor4U& color ); diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index e8b3842ae5..f0c28041d1 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -1987,15 +1987,13 @@ bool LLTextureCache::writeToFastCache(S32 id, LLPointer raw, S32 dis if(w * h *c > 0) //valid { //make a duplicate to keep the original raw image untouched. - raw = raw->duplicate(); + raw = raw->scaled(w, h); if (raw->isBufferInvalid()) { LL_WARNS() << "Invalid image duplicate buffer" << LL_ENDL; return false; } - raw->scale(w, h) ; - discardlevel += i ; } } diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 5de7df7b91..e5a1bed48c 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1396,8 +1396,7 @@ void LLViewerFetchedTexture::addToCreateTexture() { //make a duplicate in case somebody else is using this raw image - mRawImage = mRawImage->duplicate(); - mRawImage->scale(w >> i, h >> i) ; + mRawImage = mRawImage->scaled(w >> i, h >> i); } } } @@ -2913,8 +2912,7 @@ void LLViewerFetchedTexture::setCachedRawImage() { //make a duplicate in case somebody else is using this raw image - mRawImage = mRawImage->duplicate(); - mRawImage->scale(w >> i, h >> i) ; + mRawImage = mRawImage->scaled(w >> i, h >> i); } } mCachedRawImage = mRawImage; From f8254a9d787ab6235c8fb076bd65dc7cd978dce9 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 30 Aug 2017 19:57:02 +0300 Subject: [PATCH 02/16] MAINT-7758 Fixed freeze on loading lsl scripts from unicode named windows folder. --- indra/llcommon/llmetricperformancetester.cpp | 14 +++++++------- indra/llcommon/llmetricperformancetester.h | 10 +++++----- indra/llrender/llgl.cpp | 2 +- indra/llrender/llgl.h | 2 +- indra/newview/llappviewer.cpp | 4 ++-- indra/newview/llfasttimerview.cpp | 10 +++++----- indra/newview/llmeshrepository.cpp | 4 ++-- indra/newview/llpreviewscript.cpp | 4 ++-- indra/newview/llscenemonitor.cpp | 2 +- indra/newview/llviewertexture.cpp | 2 +- indra/newview/llviewertexture.h | 2 +- indra/newview/llvoavatar.cpp | 2 +- indra/test/test.cpp | 8 ++++---- 13 files changed, 33 insertions(+), 33 deletions(-) diff --git a/indra/llcommon/llmetricperformancetester.cpp b/indra/llcommon/llmetricperformancetester.cpp index 16fc365da1..f8a93baf45 100644 --- a/indra/llcommon/llmetricperformancetester.cpp +++ b/indra/llcommon/llmetricperformancetester.cpp @@ -132,8 +132,8 @@ void LLMetricPerformanceTesterBasic::doAnalysisMetrics(std::string baseline, std } // Open baseline and current target, exit if one is inexistent - std::ifstream base_is(baseline.c_str()); - std::ifstream target_is(target.c_str()); + llifstream base_is(baseline.c_str()); + llifstream target_is(target.c_str()); if (!base_is.is_open() || !target_is.is_open()) { LL_WARNS() << "'-analyzeperformance' error : baseline or current target file inexistent" << LL_ENDL; @@ -151,7 +151,7 @@ void LLMetricPerformanceTesterBasic::doAnalysisMetrics(std::string baseline, std target_is.close(); //output comparision - std::ofstream os(output.c_str()); + llofstream os(output.c_str()); os << "Label, Metric, Base(B), Target(T), Diff(T-B), Percentage(100*T/B)\n"; for(LLMetricPerformanceTesterBasic::name_tester_map_t::iterator iter = LLMetricPerformanceTesterBasic::sTesterMap.begin() ; @@ -212,7 +212,7 @@ void LLMetricPerformanceTesterBasic::addMetric(std::string str) } /*virtual*/ -void LLMetricPerformanceTesterBasic::analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) +void LLMetricPerformanceTesterBasic::analyzePerformance(llofstream* os, LLSD* base, LLSD* current) { resetCurrentCount() ; @@ -254,14 +254,14 @@ void LLMetricPerformanceTesterBasic::analyzePerformance(std::ofstream* os, LLSD* } /*virtual*/ -void LLMetricPerformanceTesterBasic::compareTestResults(std::ofstream* os, std::string metric_string, S32 v_base, S32 v_current) +void LLMetricPerformanceTesterBasic::compareTestResults(llofstream* os, std::string metric_string, S32 v_base, S32 v_current) { *os << llformat(" ,%s, %d, %d, %d, %.4f\n", metric_string.c_str(), v_base, v_current, v_current - v_base, (v_base != 0) ? 100.f * v_current / v_base : 0) ; } /*virtual*/ -void LLMetricPerformanceTesterBasic::compareTestResults(std::ofstream* os, std::string metric_string, F32 v_base, F32 v_current) +void LLMetricPerformanceTesterBasic::compareTestResults(llofstream* os, std::string metric_string, F32 v_base, F32 v_current) { *os << llformat(" ,%s, %.4f, %.4f, %.4f, %.4f\n", metric_string.c_str(), v_base, v_current, v_current - v_base, (fabs(v_base) > 0.0001f) ? 100.f * v_current / v_base : 0.f ) ; @@ -293,7 +293,7 @@ LLMetricPerformanceTesterWithSession::~LLMetricPerformanceTesterWithSession() } /*virtual*/ -void LLMetricPerformanceTesterWithSession::analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) +void LLMetricPerformanceTesterWithSession::analyzePerformance(llofstream* os, LLSD* base, LLSD* current) { // Load the base session resetCurrentCount() ; diff --git a/indra/llcommon/llmetricperformancetester.h b/indra/llcommon/llmetricperformancetester.h index e6b46be1cf..2e99ed979d 100644 --- a/indra/llcommon/llmetricperformancetester.h +++ b/indra/llcommon/llmetricperformancetester.h @@ -60,7 +60,7 @@ public: * By default, compares the test results against the baseline one by one, item by item, * in the increasing order of the LLSD record counter, starting from the first one. */ - virtual void analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) ; + virtual void analyzePerformance(llofstream* os, LLSD* base, LLSD* current) ; static void doAnalysisMetrics(std::string baseline, std::string target, std::string output) ; @@ -93,8 +93,8 @@ protected: * @param[in] v_base - Base value of the metric. * @param[in] v_current - Current value of the metric. */ - virtual void compareTestResults(std::ofstream* os, std::string metric_string, S32 v_base, S32 v_current) ; - virtual void compareTestResults(std::ofstream* os, std::string metric_string, F32 v_base, F32 v_current) ; + virtual void compareTestResults(llofstream* os, std::string metric_string, S32 v_base, S32 v_current) ; + virtual void compareTestResults(llofstream* os, std::string metric_string, F32 v_base, F32 v_current) ; /** * @brief Reset internal record count. Count starts with 1. @@ -181,7 +181,7 @@ public: * This will be loading the base and current sessions and compare them using the virtual * abstract methods loadTestSession() and compareTestSessions() */ - virtual void analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) ; + virtual void analyzePerformance(llofstream* os, LLSD* base, LLSD* current) ; protected: /** @@ -205,7 +205,7 @@ protected: * @brief Compare the base session and the target session. Assumes base and current sessions have been loaded. * @param[out] os - The comparison result as a standard stream */ - virtual void compareTestSessions(std::ofstream* os) = 0; + virtual void compareTestSessions(llofstream* os) = 0; LLTestSession* mBaseSessionp; LLTestSession* mCurrentSessionp; diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 7757198af5..1847c661d7 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -65,7 +65,7 @@ static const std::string HEADLESS_VENDOR_STRING("Linden Lab"); static const std::string HEADLESS_RENDERER_STRING("Headless"); static const std::string HEADLESS_VERSION_STRING("1.0"); -std::ofstream gFailLog; +llofstream gFailLog; #if GL_ARB_debug_output diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index 75e5fe86ec..aa98b3f6bc 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -47,7 +47,7 @@ extern BOOL gDebugGL; extern BOOL gDebugSession; -extern std::ofstream gFailLog; +extern llofstream gFailLog; #define LL_GL_ERRS LL_ERRS("RenderState") diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 98d622acf9..b7267fbdfe 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -639,7 +639,7 @@ public: void run() { - std::ofstream os(mFile.c_str()); + llofstream os(mFile.c_str()); while (!LLAppViewer::instance()->isQuitting()) { @@ -3737,7 +3737,7 @@ void getFileList() if ( ( iter->length() > 30 ) && (iter->rfind(".dmp") == (iter->length()-4) ) ) { std::string fullname = pathname + *iter; - std::ifstream fdat( fullname.c_str(), std::ifstream::binary); + llifstream fdat( fullname.c_str(), std::ifstream::binary); if (fdat) { char buf[5]; diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index a69b3b7dc7..4110971fa5 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -463,7 +463,7 @@ void LLFastTimerView::exportCharts(const std::string& base, const std::string& t { //read base log into memory S32 i = 0; - std::ifstream is(base.c_str()); + llifstream is(base.c_str()); while (!is.eof() && LLSDParser::PARSE_FAILURE != LLSDSerialize::fromXML(cur, is)) { base_data[i++] = cur; @@ -476,7 +476,7 @@ void LLFastTimerView::exportCharts(const std::string& base, const std::string& t { //read current log into memory S32 i = 0; - std::ifstream is(target.c_str()); + llifstream is(target.c_str()); while (!is.eof() && LLSDParser::PARSE_FAILURE != LLSDSerialize::fromXML(cur, is)) { cur_data[i++] = cur; @@ -821,8 +821,8 @@ LLSD LLFastTimerView::analyzePerformanceLogDefault(std::istream& is) void LLFastTimerView::doAnalysisDefault(std::string baseline, std::string target, std::string output) { // Open baseline and current target, exit if one is inexistent - std::ifstream base_is(baseline.c_str()); - std::ifstream target_is(target.c_str()); + llifstream base_is(baseline.c_str()); + llifstream target_is(target.c_str()); if (!base_is.is_open() || !target_is.is_open()) { LL_WARNS() << "'-analyzeperformance' error : baseline or current target file inexistent" << LL_ENDL; @@ -840,7 +840,7 @@ void LLFastTimerView::doAnalysisDefault(std::string baseline, std::string target target_is.close(); //output comparison - std::ofstream os(output.c_str()); + llofstream os(output.c_str()); LLSD::Real session_time = current["SessionTime"].asReal(); os << diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index c2a0393170..b65e7ef352 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -1980,14 +1980,14 @@ void dump_llsd_to_file(const LLSD& content, std::string filename) { if (gSavedSettings.getBOOL("MeshUploadLogXML")) { - std::ofstream of(filename.c_str()); + llofstream of(filename.c_str()); LLSDSerialize::toPrettyXML(content,of); } } LLSD llsd_from_file(std::string filename) { - std::ifstream ifs(filename.c_str()); + llifstream ifs(filename.c_str()); LLSD result; LLSDSerialize::fromXML(result,ifs); return result; diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 2476b6d6ed..6ecc4c7fb9 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -1214,7 +1214,7 @@ void LLScriptEdCore::onBtnLoadFromFile( void* data ) std::string filename = file_picker.getFirstFile(); - std::ifstream fin(filename.c_str()); + llifstream fin(filename.c_str()); std::string line; std::string text; @@ -1252,7 +1252,7 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata ) { std::string filename = file_picker.getFirstFile(); std::string scriptText=self->mEditor->getText(); - std::ofstream fout(filename.c_str()); + llofstream fout(filename.c_str()); fout<<(scriptText); fout.close(); self->mSaveCallback( self->mUserdata, FALSE ); diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp index 02912f12a9..5ab0013055 100644 --- a/indra/newview/llscenemonitor.cpp +++ b/indra/newview/llscenemonitor.cpp @@ -532,7 +532,7 @@ void LLSceneMonitor::dumpToFile(std::string file_name) LL_INFOS("SceneMonitor") << "Saving scene load stats to " << file_name << LL_ENDL; - std::ofstream os(file_name.c_str()); + llofstream os(file_name.c_str()); os << std::setprecision(10); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index cd8dd54fa6..5de7df7b91 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -3966,7 +3966,7 @@ void LLTexturePipelineTester::updateStablizingTime() } //virtual -void LLTexturePipelineTester::compareTestSessions(std::ofstream* os) +void LLTexturePipelineTester::compareTestSessions(llofstream* os) { LLTexturePipelineTester::LLTextureTestSession* base_sessionp = dynamic_cast(mBaseSessionp); LLTexturePipelineTester::LLTextureTestSession* current_sessionp = dynamic_cast(mCurrentSessionp); diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index 8017d82604..c9dea17f63 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -779,7 +779,7 @@ private: }; /*virtual*/ LLMetricPerformanceTesterWithSession::LLTestSession* loadTestSession(LLSD* log) ; - /*virtual*/ void compareTestSessions(std::ofstream* os) ; + /*virtual*/ void compareTestSessions(llofstream* os) ; }; #endif diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f9dfa971d9..1658adea08 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -8435,7 +8435,7 @@ void dump_sequential_xml(const std::string outprefix, const LLSD& content) { std::string outfilename = get_sequential_numbered_file_name(outprefix,".xml"); std::string fullpath = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,outfilename); - std::ofstream ofs(fullpath.c_str(), std::ios_base::out); + llofstream ofs(fullpath.c_str(), std::ios_base::out); ofs << LLSDOStreamer(content, LLSDFormatter::OPTIONS_PRETTY); LL_DEBUGS("Avatar") << "results saved to: " << fullpath << LL_ENDL; } diff --git a/indra/test/test.cpp b/indra/test/test.cpp index 630af2b73b..1c0317df1d 100644 --- a/indra/test/test.cpp +++ b/indra/test/test.cpp @@ -136,7 +136,7 @@ public: private: NamedTempFile mTempFile; - std::ofstream mFile; + llofstream mFile; }; class LLReplayLogReal: public LLReplayLog, public boost::noncopyable @@ -569,7 +569,7 @@ int main(int argc, char **argv) apr_status_t apr_err; const char* opt_arg = NULL; int opt_id = 0; - boost::scoped_ptr output; + boost::scoped_ptr output; const char *touch = NULL; while(true) @@ -599,7 +599,7 @@ int main(int argc, char **argv) verbose_mode = true; break; case 'o': - output.reset(new std::ofstream); + output.reset(new llofstream); output->open(opt_arg); break; case 's': // --sourcedir @@ -673,7 +673,7 @@ int main(int argc, char **argv) if (touch && success) { - std::ofstream s; + llofstream s; s.open(touch); s << "ok" << std::endl; s.close(); From b0d3fc6292a8209a0eb246ec0ddbae0b0b58dc77 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Thu, 31 Aug 2017 01:51:13 +0300 Subject: [PATCH 03/16] Backed out changeset: 1f01508fdc05 of MAINT-200 to fix BUG-134213 --- indra/newview/lltoolpie.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index f7b063b398..f473000657 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -113,7 +113,7 @@ BOOL LLToolPie::handleMouseDown(S32 x, S32 y, MASK mask) mMouseDownY = y; //left mouse down always picks transparent (but see handleMouseUp) - mPick = gViewerWindow->pickImmediate(x, y, FALSE, FALSE); + mPick = gViewerWindow->pickImmediate(x, y, TRUE, FALSE); mPick.mKeyMask = mask; mMouseButtonDown = true; From 2cbb3d32af0c1ca77c64c2539f67c8a33a3fc6dd Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 31 Aug 2017 15:47:03 +0300 Subject: [PATCH 04/16] MAINT-7554 Fixed missing description --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4154c96378..9f82eb5b85 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -815,7 +815,7 @@ FramePerSecondLimit Comment - Test + Controls upper limit of frames per second Persist 1 Type From cba6748701a8f6bbbfc8631c0ccb0a5027ae935b Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 31 Aug 2017 17:32:48 +0300 Subject: [PATCH 05/16] MAINT-7761 FIXED Inventory UUID search does not exclude assets that are limited perms. --- indra/newview/llinventorybridge.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index a85a471272..3f18039376 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -245,8 +245,8 @@ std::string LLInvFVBridge::getSearchableUUIDString() const const LLInventoryModel* model = getInventoryModel(); if (model) { - const LLInventoryItem *item = model->getItem(mUUID); - if(item) + const LLViewerInventoryItem *item = model->getItem(mUUID); + if(item && (item->getIsFullPerm() || gAgent.isGodlikeWithoutAdminMenuFakery())) { std::string uuid = item->getAssetUUID().asString(); LLStringUtil::toUpper(uuid); From bf1af55a060b25e2de291c66a4d848dd969729ed Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 31 Aug 2017 20:26:25 +0300 Subject: [PATCH 06/16] MAINT-7691 Crashreported sometimes not starting from unicode named folders --- indra/newview/llappviewerwin32.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 5107030476..4268ecd91e 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -694,7 +694,7 @@ void LLAppViewerWin32::initCrashReporting(bool reportFreeze) PROCESS_INFORMATION processInfo; std::wstring exe_wstr; - exe_wstr=wstringize(exe_path); + exe_wstr = utf8str_to_utf16str(exe_path); std::wstring arg_wstr; arg_wstr=wstringize(arg_str); From 3fd36e9410eb6c9052e92186078fc5c7908d861d Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Fri, 1 Sep 2017 16:40:37 +0300 Subject: [PATCH 07/16] MAINT-7326 Cache value fix for non-default languages --- .../newview/skins/default/xui/de/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/es/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/fr/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/it/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/ja/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/pl/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/pt/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/ru/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/tr/panel_preferences_advanced.xml | 2 +- .../newview/skins/default/xui/zh/panel_preferences_advanced.xml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml index 60e4fb19a7..b8ddc63b93 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml @@ -6,7 +6,7 @@ Cache: - + MB diff --git a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml index efa003c17e..4cb816a120 100644 --- a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml @@ -6,7 +6,7 @@ Caché: - + MB diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml index f61dc5aa35..b96cb6dc49 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml @@ -6,7 +6,7 @@ Cache : - + Mo diff --git a/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml index 85cbfb92ef..87cee345fa 100644 --- a/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml @@ -6,7 +6,7 @@ Cache: - + MB diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml index 62b8daeb4e..266809f4da 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml @@ -6,7 +6,7 @@ キャッシュ: - + MB diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml index cc85ec20f6..4609b2f916 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml @@ -3,7 +3,7 @@ Pamięć podręczna: - +