summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2018-12-17MergeGraham Linden
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-10241: Group roll for changing environment.Rider Linden
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-13MergeRider Linden
2018-12-13increment viewer version to 6.0.2Nat Goodspeed
2018-12-12MergeRider Linden
2018-12-12SL-10238: Viewer spport for push notifications from the simulator contaiting ↵Rider Linden
partial groups of settings. Blend these settings into the current environment.
2018-12-12SL-10188 [EEP] add/delete/load should be disabled while the timeline "Play" ↵maxim_productengine
button is engaged.
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-11MergeGraham Linden
2018-12-11SL-10153: Validate APPDATA, LOCALAPPDATA by checking existence.Nat Goodspeed
2018-12-11MergeGraham Linden
2018-12-11SL-10186 FIXED When attempting to apply Day Offset of 0.0 the slider jumps ↵maxim_productengine
to the last set Offset value
2018-12-10Mods to allow using ALM rendering in water reflections soGraham Linden
the reflections will better match what they're reflecting when ALM is enabled.
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-9924 [EEP] Environment Settings permissions can be dropped by Save As buttonandreykproductengine
2018-12-10Merged in andreykproductengine/maint-eep (pull request #210)Rider Linden
SL-10091 and SL-1894 Approved-by: Maxim Nikolenko <maximnproductengine@lindenlab.com>
2018-12-10SL-9698 [EEP] Add beacons that point to sun & moon positionmaxim_productengine
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-07SL-1894 When crossing regions altitude slider could misbehaveandreykproductengine
2018-12-07SL-10091 Prevent info floater from re-requesting data when not openandreykproductengine
2018-12-06MergeGraham Linden
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-06De-duplicate deferred gbuffer access for getPosition/getNorm.Graham Linden
De-duplicate ambient occlusion shader code and move to new aoUtil.glsl Split shared shadow tap funcs into shadowUtil.glsl
2018-12-06Merged in maxim_productengine/viewer-eep (pull request #209)Rider Linden
SL-10165 Load Frame button on Day Cycle editor is not working when a frame is selected
2018-12-06Merged in andreykproductengine/maint-eep (pull request #208)Rider Linden
SL-10091 EEP Filter out dupplicate refreshes and callbacks
2018-12-06SL-10165 Load Frame button on Day Cycle editor is not working when a frame ↵maxim_productengine
is selected
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-05Shader cleanup and consolidation of use of sRGB conversion funcs.Graham Linden
2018-12-05SL-10091 EEP Filter out dupplicate refreshes and callbacksandreykproductengine
2018-12-05Merged in andreykproductengine/maint-eep (pull request #195)Rider Linden
SL-9924 [EEP] Environment Settings permissions can be dropped by Save As button
2018-12-05[EEP] NULL gAtmosphere crash fixandreykproductengine
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-05SL-10167 Change wording on Add/Load/Delete buttons in the day editormaxim_productengine
2018-12-05SL-10166 FIXED Sky editor add/delete frame not enabling disabling correctlymaxim_productengine
2018-12-04Merged INTL-316AndreyL ProductEngine
2018-12-03FIX INTL-316 translate Viewer Set54 into 9 languages, for Animesh project ↵eli
Viewer (repository: axon)
2018-12-03SL-10055Graham Linden
Modify handling of directional light to prefer sun when it is up but use moon dir/color when it is alone in the sky. Modify handling of shader in shaders to get some shadowing of ambient and nighttime shadowing.
2018-11-30SL-10147: Copy placeholder English text to supported NSIS languages.Nat Goodspeed