summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-02-15Preliminary pipe support for LLProcess.Nat Goodspeed
Add LLProcess::FileParam to specify how to construct each child's standard file slot, with lots of comments about features designed but not yet implemented. The point is to design it with enough flexibility to be able to extend to foreseeable use cases. Add LLProcess::Params::files to collect up to 3 FileParam items. Naturally this extends the accepted LLSD syntax as well. Implement type="" (child inherits parent file descriptor) and "pipe" (parent constructs anonymous pipe to pass to child). Add LLProcess::FILESLOT enum, plus methods: getReadPipe(FILESLOT), getOptReadPipe(FILESLOT) getWritePipe(), getOptWritePipe() getPipeName(FILESLOT): placeholder implementation for now Add LLProcess::ReadPipe and WritePipe classes, as returned by get*Pipe(). WritePipe supports get_ostream() method for streaming to child stdin. ReadPipe supports get_istream() method for reading from child stdout/stderr. It also provides getPump() returning LLEventPump& so interested parties can listen for arrival of new data on the aforementioned std::istream. For "pipe" slots, instantiate appropriate *Pipe class. ReadPipe and WritePipe classes are pure virtual bases for ReadPipeImpl and WritePipeImpl, respectively: all implementation data are hidden in the latter classes, visible only in llprocess.cpp. In fact each *PipeImpl class registers itself for "mainloop" ticks, attempting nonblocking I/O to the underlying apr_file_t on each tick. Data are buffered in a boost::asio::streambuf, which bridges between std::[io]stream and the APR I/O calls. Sanity-test ReadPipeImpl by using a pipe to absorb the Python "SyntaxError" output from the successful syntax_error test, rather than alarming the user. Add first few unit tests for validating FileParam. More tests coming!
2012-02-15STORM-1812 Music stream does not always restart after teleportingJonathan Yap
2012-02-14SH-2973 Rearrange shutdown operations to prevent crash on exit on OSXDave Parks
2012-02-14SH-2973 Rearrange shutdown operations to prevent crash on exit on OSXDave Parks
2012-02-14SH-2908 More complete GLSL 1.20 compatibility pass.Dave Parks
2012-02-14EXP-1891 FIXED ('Vehicles' category overlays avatar thumnail after setting ↵paulgproductengine
minimal width in Avatar picker floater) - Increased min width of the floater
2012-02-14EXP-1890 FIXED (The "Shop" button is partially not clickable)paulgproductengine
- Adjusted width of the panel which contains the shop button
2012-02-14EXP-1546 FIXED (received items - purchasing some bodyparts and clothing from ↵paulgproductengine
a prim marked for sale show wrong inventory icons) - In buy floater, for multiple WEARABLES inventory items show corresponding wearable icons
2012-02-13SH-2908 Fix for shaders failing to compile when using GLSL 1.20 or 1.10 profile.Dave Parks
2012-02-13SH-2973 Potential fix for crash in ~LLVOAvatarSelfDave Parks
2012-02-13SH-2973 Potential fix for crash in ~LLVOAvatarSelfDave Parks
2012-02-13Fix Linux compile issue : make templated type casting explicit (2)Merov Linden
2012-02-13SH-2908 Temporary fix for mac buildDave Parks
2012-02-13Fix Linux compile issue : make templated type casting explicitMerov Linden
2012-02-13EXP-1888 FIX -- Update text for emtpy Received Items folder in the ViewerLeslie Linden
2012-02-13Use per-frame ticks on "mainloop" LLEventPump to update LLProcess.Nat Goodspeed
When we reimplemented LLProcess on APR, necessitating APR's funny callback mechanism to sense child-process status, every isRunning() or getStatus() call called the APR poll function that calls ALL registered LLProcess callbacks. In other words, every time any consumer called any LLProcess::isRunning() method, all LLProcess callbacks were redundantly fired. Change that so that the single APR poll function is called once per frame, courtesy of the "mainloop" LLEventPump. Once per viewer frame should be well within the realtime duration in which it's reasonable to expect child-process status to change. In effect, this changes LLProcess's public API to introduce a dependency on "mainloop" ticks. Add such ticks to llprocess_test.cpp as well.
2012-02-13SH-2908 Fix for mac buildDave Parks
2012-02-13SH-2908 More linux build fixes.Dave Parks
2012-02-13Add unit tests for LLProcess::Status functionality.Nat Goodspeed
2012-02-13SH-2908 Fix for linux build.Dave Parks
2012-02-13SH-2964 Fix for shader compilation error on some older NVIDIA cards.Dave Parks
2012-02-13EXP-1863 : Add comment and dead code cleanupMerov Linden
2012-02-13EXP-1832 FIXED Viewer Size not persistent across logins.Vadim ProductEngine
Symptoms: Viewer window shrank by a few pixels on each startup. Reason: We used client rect (which did not include the window border) to create the viewer window. Solution: Convert client rect into window rect, i.e. expand it by the border size.
2012-02-13EXP-1882 FIXED Crashes when invoking avatar picker from mouse look mode.Vadim ProductEngine
Fixing the cases missed in EXP-1879.
2012-02-13Suppress a specific unused-var warning on Posix platforms.Nat Goodspeed
2012-02-12Automated merge with ssh://hg.lindenlab.com/nat/viewer-new-aprNat Goodspeed
2012-02-11STORM-1738 Enable floaterJonathan Yap
2012-02-11Update viewer to official builds of http://hg.secondlife.com/3p-apr.Nat Goodspeed
2012-02-10EXP-1885 FIX Viewer crashes when receiving multiple inventory offer ↵Richard Linden
notifications
2012-02-10MergeDave Parks
2012-02-10EXP-1863 : Fix the filtering of cut folders, also fix the move to trash of ↵Merov Linden
folders in double cut scenarios
2012-02-10SH-2908 Rework indexed texture rendering to use a uvec4 instead of a float ↵Dave Parks
for texture indices in the data stream. Also rework gl_FragColor overrides to not collide with some odd driver implementations.
2012-02-10Automated merge with ssh://hg.lindenlab.com/richard/viewer-experience-merge/Richard Linden
2012-02-10EXP-1884 FIX Errors in navigating text when editing Landmarks and picks once ↵Richard Linden
a vertical scrollbar is shown
2012-02-10STORM-1738 Autocorrect working for nearby chat and IM input boxesJonathan Yap
warn-on-failure:open-license
2012-02-10Merge with headcallum
2012-02-10EXP-1889 FIX As a Second Life viewer developer, I would like a tool that ↵callum
helps me find memory leaks.
2012-02-10Eliminate ManifestError for wildcards matching 0 files.Nat Goodspeed
Turns out that some (many?) wildcard LLManifest.path(wildcard) calls are "just in case": sweep up any (e.g.) "*.tga" files there may be, but no problem if there are none. Change path() logic so it tries the next tree (source, artwork, build) if either a specific (non-wildcard) filename doesn't exist, as now, OR if a wildcard matches 0 files in the current tree. This continues to support "just in case" wildcards, while permitting wildcards to work in the artwork and build trees as well as the source tree. Use a more specific exception than ManifestError for missing file. Only in that case should we try the next tree. Any other ManifestError should propagate.
2012-02-10STORM-1793 Supply missing new artworkJonathan Yap
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-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-10EXP-1885 FIXED the crash when receiving multiple inventory offer notifications.Seth ProductEngine
Fixed erasing the iterator which was becoming invalid on recursive calls.
2012-02-10Try using Log's new APR packages for Windows, Mac, Linux.Nat Goodspeed
This APR merges work from Huseby, Log, Leslie, Nat.
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-10- fixed : Hunspell linking issuesKitty Barnett
2012-04-11add hunspell libraries in unit test buildOz Linden
2012-04-11fix ordering problem in libraries?Oz Linden