summaryrefslogtreecommitdiff
path: root/indra/llvfs
AgeCommit message (Collapse)Author
2017-12-20MAINT-8087: Use env vars from VMP for AppData\Roaming and Local.Nat Goodspeed
On Windows, when logged in with a non-ASCII username, every one of the three documented APIs -- SHGetSpecialFolderPath(), SHGetFolderPath() and SHGetKnownFolderPath() -- fails to retrieve any pathname at all. We cannot account for the fact that the oldest of these continues to work with the release viewer and within a Python script (though not, curiously, from a Python interactive session). With a non-ASCII username, they consistently fail when called from an Alex Ivy viewer build: "The filename, directory name, or volume label syntax is incorrect." Empirically, with a non-ASCII username, the preset APPDATA and LOCALAPPDATA environment variables are also useless, e.g. c:\Users\??????\AppData\Roaming where those are, yup, actual question marks. Empirically, the VMP is able to successfully call SHGetFolderPath() to retrieve both AppData\Roaming and AppData\Local. Therefore, we make the VMP set the APPDATA and LOCALAPPDATA environment variables to the UTF-8 encoded correct pathnames. Instead of calling SHGetSomethingFolderPath() at all, make LLDir_Win32 retrieve those environment variables. Make LLFile::mkdir() treat "directory already exists" as a success case. Every single call fell into one of two categories: either it didn't check success at all, or it tested specially to exempt errno == EEXIST. Migrate that test into mkdir(); eliminate it from call sites. Make LLDir::append() and add() convenience functions accept variadic arguments. Replace add(add()...) constructs, as well as clumsy concatenations of directory names and getDirDelimiter(), with simple variadic add() calls.
2017-12-14MAINT-8087: #include header for CoTaskMemFree() functionNat Goodspeed
which is required to free the pointer returned by SHGetKnownFolderPath().
2017-12-14MAINT-8087: Use SHGetKnownFolderPath(), not SHGetSpecialFolderPath().Nat Goodspeed
SHGetSpecialFolderPath() is deprecated, and empirically it appears to be failing when the user name contains non-ASCII characters. The relevant Microsoft documentation pages recommend calling SHGetKnownFolderPath() instead. Also, the SHGetSpecialFolderPath() calls had no error checking or reporting, which is why we can only say it "appears to be" failing. Make sure that if SHGetKnownFolderPath() fails, at least we try to tell somebody about it.
2017-10-11Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-08-16merge changes for DRTVWR-439Oz Linden
2017-08-18MAINT-7691 Fixed cache not clearing correctly and incapability to find dump ↵andreykproductengine
files in case of unicode path
2017-05-22Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-04-19MAINT-7074 Fixed ability to escape from skin directory with <icon>AndreyL ProductEngine
2017-02-03Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-12-20DRTVWR-418: std::string::find() returns std::string::size_type.Nat Goodspeed
Storing it in a U32 and then comparing it to std::string::npos isn't going to work in 64 bit land.
2017-05-25MAINT-5100 Fixed viewer not finding sky files at loginandreykproductengine
2016-12-15DRTVWR-418: Store std::string::find() result in size_t, not U32.Nat Goodspeed
In a 64-bit build, std::string::npos is way bigger than a U32.
2016-11-14MAINT-6920 More information in About Second Life floaterandreykproductengine
2016-07-05MAINT-5388 File "conversation.log" created in users' root directory on Windowsandreykproductengine
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-04-10restore the ll[io]fstream because we need them as wrappers on Windows for ↵Oz Linden
wide char paths; on other platforms they are now just typedefs to the std classes
2015-04-07replace llifstream and llofstream with std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07convert llifstream and llofstream to std::ifstream and std::ofstream ↵Oz Linden
respectively
2014-10-17Update to build on Xcode 6.0: using an assignment in an expressions without ↵callum_linden
parens
2014-10-17Update to build on Xcode 6.0: variable (result) can be unitialized if ↵callum_linden
condition is false (TAKE 2) [-Wsometimes-uninitialized]
2014-10-17Update to build on Xcode 6.0: variable (result) can be unitialized if ↵callum_linden
condition is false [-Wsometimes-uninitialized]
2014-10-17Update to build on Xcode 6.0: how did this ever compile...callum_linden
2014-05-07merge changes for 3.7.7-releaseOz Linden
2014-04-08revived some deleted files to get mac build workingRichard Linden
2014-04-08merge changes for 3.7.5-releaseOz Linden
2014-04-07merge with releaseRichard Linden
2014-03-13OPEN-209: Corrected all instances of trigraphs in the code.Ricky Curtice
Trigraphs can cause some real special headaches. The only part that's annoying is the comment in newview/llimview.cpp where there's an unfortunate collision of a trigraph sequence with a character sequence that could be displayed by the viewer. Thankfully, it's only a comment!
2014-03-13Merged in viewer-releaseAura Linden
2014-03-12merge with releaseRichard Linden
2014-03-07Fixes for crash reporter startup race condition, crash reporter CPU use, ↵Aura Linden
Secondlife.log filehandle, XP Crash.
2014-02-14More memory cleanup of containers after DeletePairedPointer() usage.simon
2014-02-14[MAINT-3555] Crash in LLPanel::~LLPanel() on shutdownBaker Linden
- Added clear() after DeletePointer() call to hopfully fix this...
2013-12-03Creating a cleaner branchAura Linden
2013-11-22MAINT-3474 FIXED crash on startup in LLTextureCache::purgeAllTextures(bool) ↵maksymsproductengine
attempting to delete texture cache
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-10-14changed ll_aligned_(malloc|free) to take alignment size as a template argumentRichard Linden
2013-09-26BUILDFIX: ll_aligned_free callRichard Linden
2013-09-09merge with viewer-releaseRichard Linden
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-19MergeXiaohong Bao
2013-08-14BUILDFIX: converted platform-specific files over to new LL_INFOS, etc macrosRichard Linden
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-05Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
consolidated most indra-specific constants in llcommon under indra_constants.h fixed issues with operations on mixed unit types (implicit and explicit) made LL_INFOS() style macros variadic in order to subsume other logging methods such as ll_infos added optional tag output to error recorders
2013-07-11Merged in viewer-releaseAura Linden
2013-06-27CHOP-956: Add settings_install.xml to settings_files.xml.Nat Goodspeed
Also clarify comment for ELLPath in lldir.h: ELLPath int values are read from settings_files.xml.
2013-06-20merge with releaseRichard Linden
2013-06-05merge with viewer-releaseRichard Linden
2013-05-30BUG-2707 add some logging to help narrow down what part of login instance ↵Graham Madarasz
handling is going awry
2013-05-16Removed debugging.Aura Linden