summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2012-03-20Tighten Linux treatment of command-line args to 'secondlife' script.Nat Goodspeed
New --leap switch takes a quoted command line likely to contain spaces. Sloppy handling of quoted arguments definitely gets us into trouble. Fix that.
2012-03-15Explicitly clean up all LLLeap instances during viewer shutdown.Nat Goodspeed
This code replaces the previous cleanup of DLLs loaded by APR.
2012-03-14Fix --leap assumption that LeapCommand setting is ALWAYS an array.Nat Goodspeed
Nuance of command-line processing: when there's exactly one --leap switch, the resulting LLSD is a scalar string rather than an array with one entry. Fix processing code to handle either case.
2012-03-14Add --leap command-line switch to launch one or more LEAP plugins.Nat Goodspeed
You can specify one or more instances of --leap 'command line'. Each such command line is parsed using bash-like conventions, notably honoring double quotes, e.g. --leap '"c:/Program Files/Something/something.exe" arg1 arg2'. (Specifying such an argument in a Windows Command Prompt may be tricky.) Such a program should read its stdin and write to its stdout using LLSD Event API Plugin protocol: length:serialized_LLSD where 'length' is the decimal integer count of bytes in serialized_LLSD, ':' is a literal colon character, and 'serialized_LLSD' is notation-format LLSD. A typical LLSD object is a map containing 'pump' and 'data' keys, where 'pump' is the name of the LLEventPump on which to send 'data' (or on which 'data' was received). In particular, the initial LLSD object on stdin mentions the name of this plugin's reply LLEventPump: the LLEventPump that will send every subsequent received event to the plugin's stdin. Anything written to the plugin's stderr will be logged in the viewer log. In addition to being generally useful, this helps debug problems with particular plugins.
2012-03-06Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2012-03-05Alphabetize cmd_line.xml.Nat Goodspeed
This separate commit is just to order the keys. Data are unchanged, as established by: $ hg cat -rtip cmd_line.xml >cmd_line.xml.tip $ python Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from llbase import llsd >>> tipdata = llsd.parse(open("cmd_line.xml.tip").read()) >>> newdata = llsd.parse(open("cmd_line.xml").read()) >>> tipdata == newdata True
2012-02-29merge changes for vmrg-231Oz Linden
2012-02-29merge changes for sh-2963Oz Linden
2012-02-28EXP-1888 FIX Update text for emtpy Received Items folder in the ViewerRichard Linden
2012-02-26Add TODOs for getTokens() to known places that scan command lines.Nat Goodspeed
Lacking time to properly test new LLStringUtil::getTokens() against the present (different!) command-line scanners in LLExternalEditor::tokenize() and LLCommandLineParser::parseCommandLineString(), just annotate as future work the goal of unifying them... SIGH.
2012-02-14SH-2973 Rearrange shutdown operations to prevent crash on exit on OSXDave Parks
2012-02-13SH-2973 Potential fix for crash in ~LLVOAvatarSelfDave Parks
2012-02-13EXP-1888 FIX -- Update text for emtpy Received Items folder in the ViewerLeslie Linden
2012-02-12Automated merge with ssh://hg.lindenlab.com/nat/viewer-new-aprNat Goodspeed
2012-02-10Resized the Merchant Outbox spinner to its native sizeLeslie Linden
2012-02-10SH-2963 Fix for highlight transparent not highlighting 100% transparent objects.Dave Parks
2012-02-10* Added timers to track the http transactions, visible through the sameLeslie Linden
"InventoryOutboxLogging" debug flag.
2012-02-10Merge daggy fix in rev a05866ebfea2 (Linux lib wildcards)Nat Goodspeed
2012-02-10Use wildcards instead of many version-specific lib names on Linux.Nat Goodspeed
viewer_manifest.py's Linux_i686Manifest class has contained directives to copy library files with names like (e.g.) "libapr-1.so.0.4.2", which means that every update to any such library requires messing with viewer_manifest.py. But LLManifest.path() claims to support wildcards, and it's more robust to specify "libapr-1.so*" instead. Unfortunately LLManifest.path()'s wildcard support only used to work for files in the source tree (vs. the artwork tree or the build tree). The logic in path() tries each tree in turn, relying on an exception to make it try the next tree. This exception was raised for a nonexistent specific filename -- but it never used to raise that exception for a wildcard matching 0 files. Instead it would simply report "0 files" and proceed, producing an invalid viewer install. Raise that exception for a wildcard matching nothing. This forces path() to consider the artwork tree and the build tree, permitting us to use wildcards in library names. Define an exception specific to LLManifest: ManifestException rather than the generic Python RuntimeException. Make it a subclass of RuntimeException so any existing callers expecting to catch RuntimeException will continue to work.
2012-02-09Enabled the 'Merchant Outbox' menu item and context menuLeslie Linden
2012-02-03merge changes for vmrg-222Oz Linden
2012-02-03EXP-1868 FIX Remove Merchant Outbox from Me menuRichard Linden
removed merchant outbox context menu reviewed by Leslie
2012-02-03EXP-1868 FIX Remove Merchant Outbox from Me menuRichard Linden
reviewed by Leslie
2012-02-03EXP-1843 WIP Added an option to output avatar rez timing.Vadim ProductEngine
Use the new "Avatar Rez" debugging tag to see the output.
2012-02-01mergeBrad Payne (Vir Linden)
2012-01-30merge changes for vmrg-219Oz Linden
2012-01-25Introduce two new parameters "CurlUseMultipleThreads" and ↵Xiaohong Bao
"CurlRequestTimeOut" for QA to test Curl.
2012-01-24SH-2791 Use request class constructor/destructor for keeping track of ↵Dave Parks
concurrent requests instead of unreliable increments/decrements sprinkled around the code.
2012-01-30mergeBrad Payne (Vir Linden)
2012-01-24merge changes for vmrg-218Oz Linden
2012-01-24mergeDave Parks
2012-01-24SH-1427 Fix for spot lights not working properly on alpha objects, and fix ↵Dave Parks
for alpha lighting of point lights not matching deferred lights.
2012-01-24mergeBrad Payne (Vir Linden)
2012-01-23Reverting background fetch on an item to the old fetFromServer call to fix ↵Leslie Linden
regression bug in inventory late loading
2012-01-23Reverting rev 22217 changes to background fetch so search and recent will ↵Leslie Linden
fully fetch user inventory
2012-01-23Use LLProcess::Params::args::empty() instead of comparing iterators.Nat Goodspeed
2012-01-23* Optimization to not waste some time doing std::string assignment all over ↵Leslie Linden
the graphics code. Reviewed by davep.
2012-01-23EXP-1799 FIX -- Replace and Add to Outfit options and Copy to Merchant ↵Leslie Linden
Outbox options can appear in invalid state when a valid folder is last selection EXP-1834 FIX -- Right click context menus on Folders in Merchant Outbox and Library folders can show all inventory options including admin options EXP-1835 FIX -- Right clicking on a folder and selecting New Folder creates folder under My Inventory not within selected folder * Updated folder context menu building to build full options in one step or trigger a load which will rebuild top-level context menu for all selected items when complete. Previous code had an implicit assumption that the selected folder was the only selection after background fetch.
2012-01-23merge changes for storm-1799Oz Linden
2012-01-23merge changes for storm-1798Oz Linden
2012-01-23merge changes for storm-1796Oz Linden
2012-01-23merge changes for storm-1788Oz Linden
2012-01-22Use LLProcess::create() to launch SLVoice, rather than inline code.Nat Goodspeed
This appears to close a long-pending action item, as it seems the original LLProcessLauncher implementation was in fact cloned-and-edited from this logic in LLVivoxVoiceClient::stateMachine(). In any case, leveraging LLProcess buys us: - reduced redundancy; fewer maintenance points - logging for both success and errors - (possibly) better SLVoice.exe lifespan management.
2012-01-22Add LLProcess logging on launch(), kill(), isRunning().Nat Goodspeed
Much as I dislike viewer log spam, seems to me starting a child process, killing it and observing its termination are noteworthy events. New logging makes LLExternalEditor launch message redundant; removed.
2012-01-22Make LLProcess::Params streamable; use that in LLExternalEditor.Nat Goodspeed
2012-01-21Convert LLProcess consumers from LLSD to LLProcess::Params block.Nat Goodspeed
Using a Params block gives compile-time checking against attribute typos. One might inadvertently set myLLSD["autofill"] = false and only discover it when things behave strangely at runtime; but trying to set myParams.autofill will produce a compile error. However, it's excellent that the same LLProcess::create() method can accept either LLProcess::Params or a properly-constructed LLSD block.
2012-01-20* Modified so "Copy" context menu option is not available for "no copy" items.Leslie Linden
2012-01-20EXP-1799 FIX -- Replace and Add to Outfit options appear as grayed out in ↵Leslie Linden
Inventory * Refactored LLFolderBridge::buildContextMenu fetch to clear and rebuild basic context menu options after the fetch rather than trying to merge the two.
2012-01-20Automated merge with http://hg.lindenlab.com/richard/viewer-initparam-llcommonNat Goodspeed
2012-01-20Per Richard, replace LLProcessLauncher with LLProcess.Nat Goodspeed
LLProcessLauncher had the somewhat fuzzy mandate of (1) accumulating parameters with which to launch a child process and (2) sometimes tracking the lifespan of the ensuing child process. But a valid LLProcessLauncher object might or might not have ever been associated with an actual child process. LLProcess specifically tracks a child process. In effect, it's a fairly thin wrapper around a process HANDLE (on Windows) or pid_t (elsewhere), with lifespan management thrown in. A static LLProcess::create() method launches a new child; create() accepts an LLSD bundle with child parameters. So building up a parameter bundle is deferred to LLSD rather than conflated with the process management object. Reconcile all known LLProcessLauncher consumers in the viewer code base, notably the class unit tests.