summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2011-09-07Automated merge with ssh://hg.lindenlab.com/nat/viewer-storm-1541Nat Goodspeed
2011-09-06STORM-1541: Hoist LLInstanceTracker::getMap_() to base getStatic().Nat Goodspeed
Generalize the notion of getting some chunk of "static" storage: introduce LLInstanceTrackerBase::getStatic() template method. Define StaticData struct containing the InstanceMap (or InstanceSet, for that specialization) along with the S32 that caused the VS2010 linker so much grief. Completely eliminate that S32 as an actual class-static member, qualifying all references with the struct returned by getStatic(). In LLInstanceTrackerBase::getInstances(), use one std::map lookup instead of three.
2011-09-06Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2011-09-06CHOP-763: Nested LLEventAPI::Response class needs LL_COMMON_API too.Nat Goodspeed
Apparently the outer class's LL_COMMON_API marker affects all outer class members, but not nested classes. Making it explicit fixes Windows link errors.
2011-09-04CHOP-763: Make LLView::TemporaryDrilldownFunc boost::noncopyable.Nat Goodspeed
Code review with Alain turned up the fact that TemporaryDrilldownFunc, simple to the point of naivety, doesn't address the case of its being copied. Making it boost::noncopyable should turn any such usage into a compile error.
2011-09-02merge changes for storm-1027Oz Linden
2011-09-02re-write the hash table code to eliminate potential flaws and simplify the ↵Xiaohong Bao
implementation.
2011-09-02increment viewer version to 3.0.5Oz Linden
2011-09-01CHOP-763: Extend LLEventAPI "LLViewerControl" API; add queries.Nat Goodspeed
This is a significant refactoring of planned (but as yet unimplemented) work, though in fact it's almost completely compatible with the only implemented operation. The set() operation now requires op="set", where before that was inferred because set() was the only possibility. Whereas before LLViewerControlListener dispatched to different bound methods on the "group" key, with four known "group" string values, it now dispatches on the "op" key, supporting "set", "toggle", "get", "groups", "vars" -- the last two exposing query functionality. LLControlGroup is actually derived from LLInstanceTracker, keyed on string names, so we can look up instances using LLControlGroup::getInstance(const std::string&), or enumerate all such names. LLControlGroup similarly permits iterating over all defined LLControlVariables. The static LLViewerControlListener instance has been wrapped in an unnamed namespace and removed from llviewercontrollistener.h. The availability of the API depends on LLEventPumps::obtain(), rather than normal C++ visibility.
2011-09-01CHOP-763: Promote Response class from llwindowlistener.cpp to LLEventAPI.Nat Goodspeed
This is a generally-useful idiom, extending the sendReply() convenience function -- it shouldn't remain buried in a single .cpp file.
2011-09-01CHOP-763: publish LLControlGroup::typeStringToEnum(), typeEnumToString()Nat Goodspeed
These LLControlGroup methods were marked 'protected'. But they're important for introspection: LLControlVariable::type() returns an eControlType; understanding that value outside a C++ context requires typeEnumToString().
2011-08-31Automated merge with http://hg.secondlife.com/viewer-developmentXiaohong Bao
2011-08-31turn on private memory pool by default.Xiaohong Bao
2011-08-31MergeXiaohong Bao
2011-08-31storm-1578: change default Away timeout to "never"Oz Linden
2011-08-31merge changes for storm-1567Oz Linden
2011-08-31merge changes for storm-638Oz Linden
2011-08-31merge changes for storm-1566Oz Linden
2011-08-31merge changes for storm-1572Oz Linden
2011-08-31merge changes for storm-1574Oz Linden
2011-08-30CHOP-763: Introduce static LLView::getPathname(LLView*).Nat Goodspeed
Use it for LLWindowListener to safely report an LLView* which might be NULL.
2011-08-30add responses to key events.Andrew A. de Laix
2011-08-30fix crash bug; exclude root from path.Andrew A. de Laix
2011-08-30CHOP-763: Add Windows magic precompiled header #include.Nat Goodspeed
2011-08-30CHOP-763: Introduce LLView::getPathname().Nat Goodspeed
2011-08-30CHOP-763: make sendReply() treat replyKey as optional.Nat Goodspeed
It's not worth bothering to tweak reply LLSD or attempt to send it if the incoming request has no replyKey, in effect not requesting a reply. This supports LLEventAPI operations for which the caller might or might not care about a reply, invoked using either send() (fire and forget) or request() (send request, wait for response). This logic should be central, instead of having to perform that test in every caller that cares. The major alternative would have been to treat missing replyKey as an error (whether LL_ERRS or exception). But since there's already a mechanism by which an LLEventAPI operation method can stipulate its replyKey as required, at this level we can let it be optional.
2011-08-29STORM-1522 Region/Estate -> Terrain Text explaining Low and High values is ↵Jonathan Yap
truncated
2011-08-29CHOP-763: Implement widget-pathname-based routing for mouse events.Nat Goodspeed
Send mouseDown(), mouseUp(), mouseMove() through static mouseEvent() helper function. Process new optional ["path"] param, validating corresponding LLView and capturing certain information about it for caller. Synthesize (x, y) pos if need be. Use LLView::TemporaryDrilldownFunc and llview::TargetEvent to temporarily hijack normal LLView mouse-event propagation. Define Response helper class to capture LLSD blob about the current request and ensure it gets sent on return.
2011-08-29a better way to inject key events.Andrew A. de Laix
2011-08-29increment viewer version to 3.0.4Oz Linden
2011-08-29merge changes for .v-pbOz Linden
2011-08-27STORM-638 FOLLOWUP Fixed a silly pointer usage mistake.Vadim ProductEngine
2011-08-26disabled basic inventory root creationRichard Nelson
reviewed by Stone
2011-08-26implement path option for key events.Andrew A. de Laix
2011-08-26EXP-1160 FIX Cannot drag/drop items from inventory into the contents of a ↵Richard Nelson
prim in latest Mesh build 239475 brought back some old logic for dispatching to child folder as drag and drop fallback
2011-08-26STORM-1574 Binary data in panel_login.xml -- filled up-pointing triangle.Jonathan Yap
2011-08-26STORM-1567 Mute button for llDialog popupJonathan Yap
Added comment where sidebar block list is opened.
2011-08-26STORM-1567 Mute button for llDialog popupJonathan Yap
Made changes per RB feedback.
2011-08-26STORM-638 FIXED "Object Return" didn't return distant objects if the ↵Vadim ProductEngine
confirmation dialog wasn't suppressed. Reason: Showing the confirmation dialog resets object selection, thus there is nothing to derez. Fix: Save selection until user answers in the confirmation dialog. I didn't investigate why the bug occurred only for distant object (must be some internal LLSelectMgr magic).
2011-08-26merge changes for storm-1568Oz Linden
2011-08-26merge changes for storm-1543Oz Linden
2011-08-26STORM-1543 WIP Removed invalid IOR_BUSY response option.Vadim ProductEngine
Addressing review feedback.
2011-08-25CHOP-763: Move llwindowlistener.{h,cpp} from llwindow to newview.Nat Goodspeed
Instantiate LLWindowListener on LLViewerWindow instead of on LLWindow. This permits LLWindowListener to use machinery from llui, e.g. LLUI::resolvePath(). Document planned new ["path"], ["reply"] params to "keyDown", "keyUp", "mouseDown", "mouseUp", "mouseMove" operations; document relationship between ["path"] and ["x"] and ["y"]. NEW PARAMS NOT YET IMPLEMENTED.
2011-08-25CHOP-763: Add LLView::TemporaryDrilldownFunc to support UI injection.Nat Goodspeed
Instead of unconditionally calling LLView::pointInView(), LLView::visibleAndContains() now consults a class-static boost::function called sDrilldown -- which is initialized to LLView::pointInView(). Introduce LLView::TemporaryDrilldownFunc, instantiated with a callable whose signature is compatible with LLView::pointInView(). This replaces sDrilldown, but only for the life of the TemporaryDrilldownFunc object. Introduce llview::TargetEvent, an object intended to serve as a TemporaryDrilldownFunc callable. Construct it with a desired target LLView* and pass it to TemporaryDrilldownFunc. When called with each candidate child LLView*, instead of selecting the one containing the particular (x, y) point, it selects the one that will lead to the ultimate desired target LLView*. Add optional 'recur' param to LLView::childFromPoint(); default is current one-level behavior. But when you pass recur=true, it should return the frontmost visible leaf LLView containing the passed (x, y) point.
2011-08-25merge changes for storm-1268Oz Linden
2011-08-25merge changes for storm-1542Oz Linden
2011-08-25merge changes for storm-1276Oz Linden
2011-08-25merge changes for storm-1571Oz Linden
2011-08-25merge changes for storm-1570Oz Linden
2011-08-24STORM-1572 XML issues for Basic/Advanced Mode button in menu barJonathan Yap