summaryrefslogtreecommitdiff
path: root/indra/llui/llspellcheck.cpp
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-01-18MAINT-7059 [contribution] Import of custom spellcheck dictionary fails silentlyMnikolenko Productengine
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
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-05Fixing issues with not detecting when LLSD XML parsing fails. Changing most ↵Don Kjer
http error handlers to understand LLSD error responses. Fleshing out most http error handler message spam.
2012-06-19STORM-1887 FIXED Added words are not saved in dictionaries if main ↵Kitty Barnett
dictionary was reselected The user's custom dictionary and ignore list are now independent of the primary dictionary.
2012-06-11STORM-276 Added the ability to remove (user-installed) dictionariesKitty Barnett
2012-06-11STORM-276 Distinguish between default dictionaries and user-installed ↵Kitty Barnett
dictionaries
2012-06-11STORM-276 Insert braces around if/for/while loopsKitty Barnett
2012-06-04STORM-276 Dictionary import functionality and floaterKitty Barnett
2012-05-31STORM-276 FIXED "Add to Ignore" doesn't triggerKitty Barnett
2012-02-09STORM-276 Differentiate between primary and secondary dictionariesKitty Barnett
2012-02-14STORM-276 Reworked the spell check preferences to be more robust and less ↵Kitty Barnett
error-prone
2012-02-03STORM-276 Added preferences panelKitty Barnett
2012-01-20STORM-276 Basic spellchecking frameworkKitty Barnett