summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-08SL-10702: When attempting a new voice connection, ensure that the voicePump ↵Rider Linden
mail drop does not have any outstanding events.
2019-02-28increment viewer version to 6.1.1Nat Goodspeed
2019-02-28Added tag 6.1.0-release for changeset a3143db58a0fNat Goodspeed
2019-02-22INTL-318: Fix syntax error in lang_tr.nsi.Nat Goodspeed
2019-02-22INTL-318: Fix similar syntax error in lang_ru.nsi.Nat Goodspeed
2019-02-21INTL-318: Fix syntax error in lang_es.nsi.Nat Goodspeed
2019-02-21INTL-318: Add translations for new Windows installer messages.Nat Goodspeed
2019-02-11SL-10506: Try again to attain desired behavior.Nat Goodspeed
2019-02-09SL-10506: Disregard any previous installation. Start from scratch.Nat Goodspeed
2019-02-06Automated merge with ssh://bitbucket.org/lindenlab/vir-fixesNat Goodspeed
2019-02-06SL-10469: Update to viewer-manager build 524157Nat Goodspeed
2019-02-06SL-10469: Remove old-shortcut cleanup cruft: only works for Admin.Nat Goodspeed
The installer is (once again) running with Admin privilege elevation even for a Standard Windows user, so it can't determine the underlying Standard user. Therefore it can't clean up any per-user shortcuts left over for that Standard user. Moved the kludge to SLVersionChecker.
2019-02-06SL-10469: Add diagnostic popup when trying to delete old shortcuts.Nat Goodspeed
2019-02-06SL-10471 - collision volume apiBrad Payne (Vir Linden)
2019-02-05SL-10471 - animation validation for constraintsBrad Payne (Vir Linden)
2019-02-05SL-10469: Remove any similar shortcuts for old per-user install.Nat Goodspeed
2019-02-04SL-9980: Update to viewer-manager build 524032Nat Goodspeed
2019-02-02SL-9980: Update to viewer-manager 524014 to drop Admin for viewer.Nat Goodspeed
But since that viewer-manager build depends on being able to read the application name from build_data.json (to locate the shortcut), add an AppName key to build_data.json.
2019-02-02SL-10396: Disable per-user installs: require Admin for all-users.Nat Goodspeed
2019-02-02DRTVWR-447: Comment out Danish and Polish in one more file.Nat Goodspeed
2019-01-18SL-10153 bat file no longer should be in instal directoryandreykproductengine
2019-01-18SL-10153: Update to viewer-manager build 523332Nat Goodspeed
2019-01-16SL-10341: Fix Mojave mic permission problem - thanks Tonya Souther!Nat Goodspeed
2019-01-16SL-10153: Update to viewer-manager build 523251Nat Goodspeed
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-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-13increment viewer version to 6.0.2Nat Goodspeed
2018-12-13Added tag 6.0.1-release for changeset 21b7604680efNat Goodspeed
2018-12-13SL-10153: Update to viewer-manager build 522507Nat Goodspeed
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-11SL-10153: Validate APPDATA, LOCALAPPDATA by checking existence.Nat Goodspeed
2018-12-11SL-10153: Update to viewer-manager build 522465Nat Goodspeed
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-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-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.