Commit Graph

22554 Commits (cfe37cbfb5bdec0aa01c86a608ecc6cdc3df8a2a)

Author SHA1 Message Date
Nat Goodspeed 748d1b311f Add LLProcess logging on launch(), kill(), isRunning().
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-22 11:56:38 -05:00
Nat Goodspeed aa1bbe3277 Make LLProcess::Params streamable; use that in LLExternalEditor. 2012-01-22 10:58:16 -05:00
Nat Goodspeed b9a03b95aa On Windows, introduce viewer Job Object and assign children to it.
The idea is that, with the right flag settings, this will cause the OS to
terminate remaining viewer child processes when the viewer terminates --
whether or not it terminates intentionally. Of course, if LLProcess's caller
specifies autokill=false, e.g. to run the viewer updater, that asserts that we
WANT the child to persist beyond the viewer session itself.
2012-01-22 09:16:11 -05:00
Nat Goodspeed e690373b05 Since lltrans.h moved to llui, fix linux_updater/CMakeLists.txt. 2012-01-21 19:46:46 -05:00
Nat Goodspeed 47d9475707 Convert LLProcess consumers from LLSD to LLProcess::Params block.
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-21 11:45:15 -05:00
Nat Goodspeed 6e214960ce Define LLProcess::Params; accept create(const LLSDParamAdapter<Params>&).
This allows callers to pass either LLSD formatted as before -- which all
callers still do -- or an actual LLProcess::Params block.
2012-01-20 20:19:50 -05:00
Leslie Linden 039cd701c4 * Modified so "Copy" context menu option is not available for "no copy" items. 2012-01-20 16:36:25 -08:00
Leslie Linden c8a2f6515a EXP-1799 FIX -- Replace and Add to Outfit options appear as grayed out in 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-20 16:10:32 -08:00
Nat Goodspeed 50d0446dd9 Automated merge with http://hg.lindenlab.com/richard/viewer-initparam-llcommon 2012-01-20 19:08:00 -05:00
Nat Goodspeed f0dbb87833 Per Richard, replace LLProcessLauncher with LLProcess.
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.
2012-01-20 18:10:40 -05:00
Richard Linden 4287dcaacf moved LLSDParam to llcommon so that LLSD<->Param Block conversion are usable by everyone 2012-01-20 14:55:39 -08:00
Xiaohong Bao 7595d8432d Automated merge with https://bitbucket.org/VirLinden/viewer-development-shining-fixes 2012-01-20 15:51:07 -07:00
Xiaohong Bao 0bf73f73b8 trivial: remove debug code for SH-2828 [crashhunters] Crash in LLRefCount::unref(), bad stacks 2012-01-20 15:48:51 -07:00
Dave Parks 18e7f1bffd SH-2889 Add visual auto-muting controls 2012-01-20 16:42:57 -06:00
Richard Linden 057da807ac removed LLXUIXML library
moved LLInitParam, and LLRegistry to llcommon
moved LLUIColor, LLTrans, and LLXUIParser to llui
reviewed by Nat
2012-01-20 13:51:46 -08:00
Leslie Linden a73013f708 EXP-1799 FIX -- Replace and Add to Outfit options appear as grayed out in Inventory
* Modified build context menu code to not disable items that are invisible so
  secondary background fetch can coalesce menu options with proper state.
* Removed "Move to Merchant Outbox" context menu option.
2012-01-20 13:41:43 -08:00
Xiaohong Bao 9e6a5d7211 fix for SH-2823 and SH-2824: LLCurl crash inside LLBufferArray::countAfter() and LLBufferArray::copyIntoBuffers 2012-01-20 11:55:15 -07:00
Richard Linden f42a8a768c fixed build 2012-01-19 20:00:42 -08:00
Richard Linden 29ad432c8b made layoutPanels have constant user_resize and auto_resize attributes 2012-01-19 19:52:49 -08:00
Richard Linden 9de0b5ed48 Automated merge with ssh://hg.lindenlab.com/richard/viewer-experience-merge/ 2012-01-19 19:41:15 -08:00
Richard Linden a662b888ed EXP-1824 FIX Received Items panel does not collapse correct when Height of panel is maximized in Inventory window 2012-01-19 19:40:46 -08:00
Leslie Linden 216ac70043 EXP-1829 FIX -- Selecting a valid item last allows other selected invalid items to be copied to Outbox with context menu option
* Updated context menu default enabled state to use the last state rather than
  TRUE.  Once per frame, the states are all reset to TRUE so this has the effect
  of AND'ing together successive buildContextMenu functions rather than ignoring
  previous states.
2012-01-19 15:24:29 -08:00
Leslie Linden bcdecbdae1 EXP-1828 FIX -- Drag and drop to an open folder in the outbox causes it to close automatically
* Updated auto-open behavior to ignore items that are already open.
2012-01-19 14:23:01 -08:00
Nat Goodspeed 083a9e0927 To grow std::string by a char, use push_back() instead of append(). 2012-01-19 17:04:55 -05:00
Leslie Linden 00fc2d5a5c * Added member variables to avoid several per-frame getChild calls. 2012-01-19 13:54:32 -08:00
Leslie Linden bb79bbf320 EXP-1827 FIX -- Drag area in outbox does not always highlight green when indicating a top level drop
* Updated the outbox drop area highlight to include top level drops within the
  outbox inventory panel itself.
2012-01-19 13:53:48 -08:00
Nat Goodspeed 6fddfab6dd Try to fix argument quoting on Windows.
Despite LLProcessLauncher's list-of-argument-strings API, on Windows it must
ram them all into a single command-line string anyway. This means that if
arguments contain spaces (or anything else that would confuse Windows command-
line parsing), the target process won't receive the intended arguments.
Introduce double quotes for any arguments not already double-quoted by caller.
2012-01-19 16:41:17 -05:00
Dave Parks 655505d304 SH-2794 Fix for bad textures on some hardware when vbo mapping disabled (always use GL_STREAM_DRAW as the usage hint when mapping is disabled as geometry will be uploaded again and again) 2012-01-19 14:57:07 -06:00
Debi King (Dessie) b3b6c7bae1 merge 2012-01-19 15:52:02 -05:00
Debi King (Dessie) 7e9ba401d1 reconciled .hgtags 2012-01-19 15:49:48 -05:00
Debi King (Dessie) 810b0286a9 Added tag DRTVWR-111_3.2.7-beta1, 3.2.7-beta1 for changeset 3d75c836d178 2012-01-19 15:43:12 -05:00
Dave Parks f7cee997df SH-2779 Fix for some transparent rigged attachments not being rendered correctly. 2012-01-19 12:40:44 -06:00
Dave Parks d987e99299 merge 2012-01-19 11:13:19 -06:00
Dave Parks f42c3ff51a SH-2885 Add mesh requests pending/processing line to "Show Render Info" 2012-01-19 11:10:22 -06:00
Merov Linden 02641d4ef3 Fix a Linux compilation failure 2012-01-18 16:32:07 -08:00
Xiaohong Bao 80299bcd50 Automated merge with https://bitbucket.org/VirLinden/viewer-development-shining-fixes 2012-01-18 15:27:36 -07:00
Xiaohong Bao 05cff1ad7f fix for SH-2827: [crashhunters] Crash in LLPipeline::generateWaterReflection() 2012-01-18 15:26:30 -07:00
Leslie Linden 2c2ada26fe Merge with latest 2012-01-18 13:54:49 -08:00
Leslie Linden 098bbfef99 EXP-1704 FIX -- Updated text for Empty Received Items panel in Viewer
* Updated to latest text per Leo's comment in the JIRA.
2012-01-18 13:53:05 -08:00
Leslie Linden 245f29ca26 EXP-1550 FIX -- New tag shown and not removed on click when rezzing an item from Received Items panel and taking back into inventory.
* Inventory folder creation dates are now only set once, rather than being
  updated every time a new item is added.
2012-01-18 13:39:04 -08:00
Dave Parks 852700fbfb SH-2598 Fix for crash when rendering mesh silhouette (workaround driver bug by rendering from client memory instead of using face VBO). 2012-01-18 15:38:25 -06:00
Richard Linden 28fc3cbadb removed some invalid attributes 2012-01-18 13:35:00 -08:00
Leslie Linden b18d54be9f EXP-1816 FIX -- Drag area in outbox can remain highlighted after drag and drop ends
* Added handleHover function to clear highlight
2012-01-18 13:11:57 -08:00
Leslie Linden eee28bd007 EXP-1125 FIX -- New tags always shown in Received Items inbox when Inventory window is detached from side panel
EXP-1578 FIX -- received items folder shows shadows of content when scrolling through lots of folders in same window

* Put in guard to prevent the inventory panel from being created multiple times
2012-01-18 13:03:19 -08:00
Richard Linden 40687a930c EXP-1812 FIX Cannot resize location bar / favorites in top navigation bar in viewer 2012-01-18 12:59:44 -08:00
Dave Parks 122691b836 merge 2012-01-18 12:41:40 -06:00
Dave Parks 0c1fc78bd9 SH-2794 Map buffer now performs as well as buffersubdata 2012-01-18 12:40:11 -06:00
Nat Goodspeed 1ed5bb3ada Make embedded Python scripts compatible with Python 2.5 *SIGH*
Apparently our TeamCity build machines are still not up to Python 2.6.
2012-01-18 10:56:13 -05:00
Nat Goodspeed ff4addd1b4 Add tests for implicit-kill-on-destroy, also orphan() method. 2012-01-18 01:10:52 -05:00
Nat Goodspeed 06f9dbd8db Introduce static LLProcessLauncher::isRunning(ll_pid_t) method.
typedef LLProcessLauncher::ll_pid_t to be HANDLE on Windows, pid_t elsewhere.
Then we can define getProcessID() returning ll_pid_t on all platforms,
retaining getProcessHandle() for hypothetical existing consumers... of which
there are none in practice.
This lets us define isRunning(ll_pid_t) to encapsulate the platform-specific
logic to actually check on a running child process, turning non-static
isRunning() into a fairly trivial wrapper.
2012-01-18 01:09:50 -05:00