summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-24SL-10283 Allow changing "Repeats per meter" on face 6 of hollowed cubemaxim_productengine
2018-12-19SL-10155 FIXED [MAC] Mesh upload tries to upload folder instead of opening itMnikolenko ProductEngine
2018-12-18SL-10235 FIXED Texture tab is opened with Bumpiness or Shininess instead of ↵maxim_productengine
Texture as default value
2018-12-18SL-10251 show correct fee for 'save to disk' option on Japanese localizationmaxim_productengine
2018-12-17SL-10252: On Windows, use $SystemRoot again, not FOLDERID_Fonts.Nat Goodspeed
2018-12-16Automated merge with ssh://bitbucket.org/lindenlab/viewer-bugsplatNat Goodspeed
2018-12-16DRTVWR-447: Merge up to latest viewer-releaseNat Goodspeed
2018-12-15SL-10153: auto name{expression} declares an initializer_listNat Goodspeed
instead of a variable of type decltype(expression). Using SHGetKnownFolderPath(FOLDERID_Fonts) in LLFontGL::getFontPathSystem() requires new Windows #include files. A variable with a constructor can't be declared within the braces of a switch statement, even outside any of its case clauses.
2018-12-15increment viewer version to 6.1.0AndreyL ProductEngine
2018-12-15Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-12-14SL-10153: VS 2013 isn't so fond of ?: involving std::string.Nat Goodspeed
2018-12-14SL-10153: Review and rationalize fetching paths from environment.Nat Goodspeed
Use LLStringUtil::getenv() or getoptenv() whenever we fetch a string that will be used as a pathname. Use LLFile::tmpdir() instead of getenv("TEMP"). As an added extra-special bonus, finally clean up $TMP/llcontrol-test-zzzzzz directories that have been accumulating every time we run a local build!
2018-12-14SL-10153: Fix previous commit for non-Windows systems.Nat Goodspeed
Move Windows-flavored llstring_getoptenv() to Windows-specific section of llstring.cpp. boost::optional type must be stated explicitly to initialize with a value. On platforms where llwchar is the same as wchar_t, LLWString is the same as std::wstring, so ll_convert specializations for std::wstring would duplicate those for LLWString. Defend against that. The compilers we use don't like 'return condition? { expr } : {}', in which we hope to construct and return an instance of the declared return type without having to restate the type. It works to use an explicit 'if' statement.
2018-12-14SL-10153: Introduce ll_convert, windows_message() templates.Nat Goodspeed
Add ll_convert<TO, FROM> template, used as (e.g.): ll_convert<std::string>(value_of_some_other_string_type); There is no generic template implementation -- the template exists solely to provide generic aliases for a bewildering family of llstring.h string- conversion functions with highly-specific names. There's a generic implementation, though, for the degenerate case where FROM and TO are identical. Add ll_convert<> specialization aliases for most of the string-conversion functions declared in llstring.h, including the Windows-specific ones involving llutf16string and std::wstring. Add a mini-lecture in llstring.h about appropriate use of string types on Windows. Add LL_WCHAR_T_NATIVE llpreprocessor.h macro so we can detect whether to provide separate conversions for llutf16string and std::wstring, or whether those would collide because the types are identical. Add inline ll_convert_wide_to_string(const std::wstring&) overloads so caller isn't required to call arg.c_str(), which naturally permits an ll_convert alias. Add ll_convert_wide_to_wstring(), ll_convert_wstring_to_wide() as placeholders for converting between Windows std::wstring and Linden LLWString, with corresponding ll_convert aliases. We don't yet have library code to perform such conversions officially; for now, just copy characters. Add LLStringUtil::getenv(key) and getoptenv(key) functions. The latter returns boost::optional<string_type> in case the caller needs to detect absence of a given environment variable rather than simply accepting a default value. Naturally getenv(), which accepts a default, is implemented using getoptenv(). getoptenv(), in turn, is implemented using an underlying llstring_getoptenv(). On Windows, llstring_getoptenv() returns boost::optional<std::wstring> (based on GetEnvironmentVariableW()), whereas elsewhere, llstring_getoptenv() returns boost::optional<std::string> (based on classic Posix getenv()). The beauty of generic ll_convert is that the portable LLStringUtilBase<T>:: getoptenv() template can call the platform-specific llstring_getoptenv() and transparently perform whatever conversion is necessary to return the desired string_type. Add windows_message<T>(error) template, with an overload that implicitly calls GetLastError(). We provide a single concrete windows_message<std::wstring>() implementation because that's what we get from Windows FormatMessageW() -- everything else is a generic conversion to the desired target string type. This obviates llprocess.cpp's previous WindowsErrorString() implementation -- reimplement using windows_message<std::string>().
2018-12-14Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-12-13increment viewer version to 6.0.2Nat Goodspeed
2018-12-13Added tag 6.0.1-release for changeset 21b7604680efNat Goodspeed
2018-12-13SL-10236 The "Attach To", "Attach To HUD", and "Wear" options aren't greyed outandreykproductengine
2018-12-14SL-10233 FIXED 'Default' button doesn't work in 'Pick:Texture' floater for ↵maxim_productengine
multiple selections with different textures
2018-12-14Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2018-12-13SL-10153: Update to viewer-manager build 522507Nat Goodspeed
2018-12-13SL-10229 FIXED Group icon doesn't display by default in the People and ↵maxim_productengine
Profile floaters after creating new group
2018-12-13SL-1481 Time limit should be per objectandreykproductengine
2018-12-12SL-10231 Bug in texture cache size computationandreykproductengine
2018-12-13SL-10228 FIXED HTTP/HTTPS URL in the object name is represented as a ↵maxim_productengine
hyperlink in message floater
2018-12-11SL-10153: Fix OSMessageBoxWin32() to handle non-ASCII text.Nat Goodspeed
2018-12-11SL-10153: Improve ll_convert_string_to_wide() and its converse.Nat Goodspeed
Instead of returning a wchar_t* and requiring the caller to delete it later, return a std::basic_string<wchar_t> that's self-cleaning. If the caller wants a wchar_t*, s/he can call c_str() on the returned string. Default the code_page parameter to CP_UTF8, since we try to be really consistent about using UTF-8 encoding for all our internal std::strings.
2018-12-12INTL-324 added support for TLS failure dialog localizationAndreyL ProductEngine
2018-12-12SL-9512 Move constant to common placeandreykproductengine
2018-12-11SL-10153: Validate APPDATA, LOCALAPPDATA by checking existence.Nat Goodspeed
2018-12-11SL-10153: Update to viewer-manager build 522465Nat Goodspeed
2018-12-11SL-10176 - [Love Me Render] MacOS Quit / Shutdown crashruslantproductengine
2018-12-11SL-10153: Update to viewer-manager build 522443Nat 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-10INTL-318: Stop processing Danish and Polish language files.Nat Goodspeed
2018-12-10SL-10092 Autoreplace Keyword was not working with non-English charactersandreykproductengine
2018-12-09SL-10001 Fixed scaleandreykproductengine
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-08SL-10153: Update to viewer-manager build 522407Nat 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-06SL-10172 Add a KB link to the TLS failure dialogandreykproductengine
2018-12-07SL-10175 Update copyright year in application infoMnikolenko ProductEngine
2018-12-05SL-10153: Update to viewer-manager build 522314Nat Goodspeed
2018-12-05SL-10153: If $APPDATA isn't already good, try SHGetFolderPath().Nat Goodspeed
In that case, also update $APPDATA for child processes.
2018-12-05DRTVWR-447: Fix BugSplat init with non-ASCII chars in install path.Nat Goodspeed
The whole remaining difference between llifstream and std::ifstream is that the former handles UTF-8 coded pathnames. Microsoft's implementation of the latter does not.
2018-12-04Merged INTL-316AndreyL ProductEngine
2018-12-04SL-10153: Update to viewer-manager build 522260Nat Goodspeed
2018-12-04SL-1481 Don't predict region crossings over a secondandreykproductengine