summaryrefslogtreecommitdiff
path: root/indra/llvfs
AgeCommit message (Collapse)Author
2018-12-11SL-10153: Validate APPDATA, LOCALAPPDATA by checking existence.Nat Goodspeed
2018-12-10SL-10153: Use a degenerate singleton for PRELOG log file.Nat Goodspeed
The previous build declared a static std::ofstream; but the code that determines the pathname for the log file is called so early that static objects have not yet been constructed. Declare a pointer instead, and instantiate it on demand.
2018-12-08SL-10153: Add ole32 to WINDOWS_LIBRARIES so it's everywhere we need.Nat Goodspeed
2018-12-08SL-10153: Need ole32 for new Windows call to CoTaskMemFree().Nat Goodspeed
2018-12-08SL-10153: Try to handle non-English non-ASCII Windows APPDATA.Nat Goodspeed
2018-12-06SL-10174: LOCALAPPDATA bad? Try SHGetFolderPath(CSIDL_LOCAL_APPDATA).Nat Goodspeed
This logic is essentially copy-and-edited from the same suspenders-and-belt concerning APPDATA and CSIDL_APPDATA for SL-10153.
2018-12-05SL-10153: If $APPDATA isn't already good, try SHGetFolderPath().Nat Goodspeed
In that case, also update $APPDATA for child processes.
2018-10-17Automated merge with ssh://bitbucket.org/nat_linden/viewer-poseidonNat Goodspeed
2018-09-13DRTVWR-474: Clean up use of LLDir::getAppRODataDir(), esp. on Mac.Nat Goodspeed
Clearly it's not obvious to maintainers that on the Mac, getAppRODataDir() returns the app's Resources directory: in a number of places the code starts with the executable directory and appends "../Resources" to find that.
2018-09-07remove only-partially-successful attempt to put teamcity blocks around targetsOz Linden
2018-09-05add more block structure to TeamCity log output for componentsOz Linden
2018-08-21Don't compare rbegin() iterators, use LLStringUtil::endsWith().Nat Goodspeed
I think the intention of (sDumpDir.rbegin() == mDirDelimiter.rbegin()) was to test whether sDumpDir endsWith(mDirDelimiter). But those iterators will never be equal. Instead, use LLStringUtil::endsWith().
2018-03-02MAINT-8297 path fix #2andreykproductengine
2018-03-02MAINT-8297 path fixandreykproductengine
2018-03-01MAINT-8297 Cleanupandreykproductengine
2018-02-22MAINT-8183 Fixed some exit issues and crashesandreykproductengine
2018-02-21MAINT-8297 Removing old ca bundleAndrey Kleshchev
2018-02-15MAINT-8297 Fixed "Missing CA File" message when running under debugger on ↵andreykproductengine
windows
2018-02-12Merged in lindenlab/viewer-bearAndreyL ProductEngine
2018-01-23MAINT-8047 [Mac] Incorrect VFS (cache) creation time is shown in "help>about SL"maxim_productengine
2018-01-17merge 5.1.0-releaseOz Linden
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-10-11merge changes for 5.0.8-releaseOz Linden
2017-08-23merge changes for 5.0.7-releaseOz Linden
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-23merge changes for 5.0.5-releaseOz Linden
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
2017-02-02merge changes for 5.0.1-releaseOz Linden
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-16merge changes for 4.1.2-releaseOz Linden
2016-11-14MAINT-6920 More information in About Second Life floaterandreykproductengine
2016-07-28update CA file name in one place I missedOz Linden
2016-07-21SL-429: Use a new certificate authority bundle based on data from MozillaOz Linden
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