summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2018-03-06Settings type inventory objects and upload the assests.Rider Linden
2018-02-27Fix the return type.Rider Linden
2018-02-27More missing 'override'sRider Linden
2018-02-27Need to bring the mac in...Rider Linden
2018-02-27Missed two overrides.Rider Linden
2018-02-27XCode now gets cranky about override (or lack there of)Rider Linden
2018-02-27Replace variadic template with more specific expansion.Rider Linden
2018-02-26MergeRider Linden
2018-02-26Added settings inventory object with subtypeRider Linden
2018-02-12increment viewer version to 5.1.2Oz Linden
2018-02-09Update a couple constructsRider Linden
2018-02-06boost->std & same level interpRider Linden
2018-02-05Transitions between skys. 1Rider Linden
2018-01-30Unused function in llsettingsdaycycleRider Linden
2018-01-30Cleanup on daycyle selection and stack. Move blenders into environment.Rider Linden
(Transition bronken, instant only. Shaddows moved based on region, not parcel)
2018-01-25Selects correct day cycle. Fix an error validating legacy daycycles.Rider Linden
2018-01-24MergeRider Linden
2018-01-24Settins failure fix.Rider Linden
2018-01-24MAINT-8052: Parcel environments. Set, clear and get.Rider Linden
2018-01-24MAINT-8197 Fix for crash in gpu_benchmark()AndreyL ProductEngine
including safety checks and some refactoring
2018-01-23MAINT-8052: One more step towards parcel environments.Rider Linden
2018-01-23Adding a couple files that got skipped.Rider Linden
2018-01-23Merged lindenlab/viewer64 into defaultThomas Nelson
2018-01-23MAINT-8052: Initial support for new EEP capRider Linden
2018-01-18correct more 64bit vivox dll namesOz Linden
2018-01-18correct 64bit vivox dll namesOz Linden
2018-01-18more places where vivox names must be conditional on address sizeOz Linden
2018-01-18copy all versions of libnghttp for testsOz Linden
2018-01-17use 64bit vivox sdk components in 64bit windows buildsOz Linden
2018-01-17merge 5.1.0-releaseOz Linden
2018-01-16increment viewer version to 5.1.1Oz Linden
2018-01-16MAINT-8052: Report if the returned environment is the default.Rider Linden
2018-01-12spell "Requesting" correctlyOz Linden
2018-01-12remove warnings for bad certificates (too scary), add infoOz Linden
for the rejected count
2018-01-08MAINT-7699: Deliver new settings to viewer via capRider Linden
2018-01-05Fix for MAINT-8119 - this bug morphed from a packaging issue to being all ↵callum_linden
about audio not playing when a media stream started. There is some as yet, unknown interaction between the volume catcher code in the CEF plugin and the VLC volume controls. The fix for now is to add a Windows call to the VLC code that sets the process volume explicitly. Later we will address the volume catcher code, move it to a common spot so both CEF and LibVLC can use the same bytes
2018-01-05Fix for MAINT-8148 - AVI fails to play. For Windows, the x-msvideo MIME type ↵callum_linden
was pointed at CEF which is unable to play it. Switching that to LibVLC made it work as expected. It was already switched on macOS
2017-12-21MAINT-8119 Fix. A change elsewhere in the viewer_manifest.py script that ↵callum_linden
copies files into the right place after a build impacted the fragment of code that copies over the VLC runtime files (Libvlc.dll, libvlccore.dll and the VLC plugins dir) and they never made it to the right place. This change restores that copy
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: New LLDir_Win32 code requires ole32 in a few more places.Nat Goodspeed
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-12-12MAINT-8082: Make UpdaterMaximumBandwidth comment admit uselessness.Nat Goodspeed
2017-12-07MAINT-8069: Pass any command-line arguments through to SL_Launcher.Nat Goodspeed
2017-12-07MAINT-8070: Tweak macOS embedded app names (flyover text) per ProductNat Goodspeed
2017-12-06dummy change to trigger new idOz Linden
2017-12-06MAINT-7751: Respond to Coyot's code-review suggestions.Nat Goodspeed
2017-12-06Change channel join timeout to 30s per recommendation from VivoxOz Linden
2017-12-06MAINT-7751: Add shbang line to macOS trampoline script.Nat Goodspeed
This evidently makes all the difference as to whether the app is considered launchable.
2017-12-04MAINT-7751: Rework DarwinManifest to produce new app bundle structure.Nat Goodspeed
Specifically, Second Life.app is now mostly just a wrapper. Its Contents/ Resources contains nested Launcher.app (the VMP) and Viewer.app (the viewer itself). Most of what used to be in the top-level Second Life.app has been relocated to the embedded Viewer.app. VMP stuff has of course been extracted to Launcher.app. The top-level Second Life.app executable is now a tiny script that runs Launcher.app. This structure permits different icons and different Dock flyover text for the launcher and the viewer, hopefully ameliorating a certain amount of user confusion about the dual icons. This requires a corresponding VMP change: on macOS, the VMP must now find both its resources and the viewer executable by walking up from Launcher.app and down again into its sibling Viewer.app. Since Dock flyover text is determined by the embedded app names, allow Product to change these at will. That means we should be able to tweak exactly one variable assignment to change either of those embedded app names, without having to chase down other references scattered throughout the source repo. For that reason, create top-level trampoline SL_Launcher script dynamically: it must reference the launcher app by name. That means we must also perform (the equivalent of) chmod +x on that generated script. The one mystery surrounding this restructuring is that without a top-level Frameworks symlink pointing to the embedded Viewer.app's Frameworks directory (where CEF lives), CEF refuses to start: no splash screen, no MoP. Perhaps we can fix that someday. Use Python's bundled plistlib to generate Info.plist files for the embedded applications. Reorganize stray code stanzas to try to help the structure of the code more or less resemble the structure of the desired result. Add ViewerManifest.relpath() method to determine the relative path from a specified base to the target path. If base omitted, assumes get_dst_prefix() -- handy for creating symlinks. Determining exactly the right number of os.pardir instances to concatenate into the relative pathname for a symlink (or an install_name_tool stamp) was tedious, fragile and unobvious, difficult to desk-check. Using relpath() should make all that more robust. Migrate symlinkf() from free function to ViewerManifest method, refactoring into _symlinkf_prep_dst() and _symlinkf(), adding relsymlinkf(). This lets us add convenience features such as prepending get_dst_prefix() to the dest (the place where we want to create the symlink), defaulting dest to the basename of target and ensuring that the parent of that dest already exists -- as with LLManifest.path(). Moreover, since it makes no sense whatsoever to create an absolute symlink to some path on the build machine, relsymlinkf() creates every symlink relative to dirname(dest). That, in turn, lets us eliminate a certain amount of boilerplate around existing calls. (Also, since we now ensure the parent directory exists, scrap the logic to diagnose "nonexistent parent directory.") Make llmanifest.LLManifest.run_command() not pass shell=True to subprocess, thereby permitting (requiring) the list form rather than the string form. Change all existing calls to list form. This makes calls more readable, for two reasons. First, many of the arguments are taken from script variables; these can simply be dropped into the list instead of indirecting through string interpolation. Second, it eliminates the need to manually escape individual arguments, since subprocess promises to honor the distinction between list elements. Also fix LLManifest.put_in_file() to ensure the containing directory exists. Consolidate some viewer_manifest.py redundancy, e.g. copying the same set of ten DLLs from either of two directories depending on Release vs. Debug.