summaryrefslogtreecommitdiff
path: root/indra/llui/CMakeLists.txt
AgeCommit message (Collapse)Author
2020-05-06DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72Nat Goodspeed
2020-03-25SL-793: Use Boost.Fiber instead of the "dcoroutine" library.Nat Goodspeed
Longtime fans will remember that the "dcoroutine" library is a Google Summer of Code project by Giovanni P. Deretta. He originally called it "Boost.Coroutine," and we originally added it to our 3p-boost autobuild package as such. But when the official Boost.Coroutine library came along (with a very different API), and we still needed the API of the GSoC project, we renamed the unofficial one "dcoroutine" to allow coexistence. The "dcoroutine" library had an internal low-level API more or less analogous to Boost.Context. We later introduced an implementation of that internal API based on Boost.Context, a step towards eliminating the GSoC code in favor of official, supported Boost code. However, recent versions of Boost.Context no longer support the API on which we built the shim for "dcoroutine." We started down the path of reimplementing that shim using the current Boost.Context API -- then realized that it's time to bite the bullet and replace the "dcoroutine" API with the Boost.Fiber API, which we've been itching to do for literally years now. Naturally, most of the heavy lifting is in llcoros.{h,cpp} and lleventcoro.{h,cpp} -- which is good: the LLCoros layer abstracts away most of the differences between "dcoroutine" and Boost.Fiber. The one feature Boost.Fiber does not provide is the ability to forcibly terminate some other fiber. Accordingly, disable LLCoros::kill() and LLCoprocedureManager::shutdown(). The only known shutdown() call was in LLCoprocedurePool's destructor. We also took the opportunity to remove postAndSuspend2() and its associated machinery: FutureListener2, LLErrorEvent, errorException(), errorLog(), LLCoroEventPumps. All that dual-LLEventPump stuff was introduced at a time when the Responder pattern was king, and we assumed we'd want to listen on one LLEventPump with the success handler and on another with the error handler. We have never actually used that in practice. Remove associated tests, of course. There is one other semantic difference that necessitates patching a number of tests: with "dcoroutine," fulfilling a future IMMEDIATELY resumes the waiting coroutine. With Boost.Fiber, fulfilling a future merely marks the fiber as ready to resume next time the scheduler gets around to it. To observe the test side effects, we've inserted a number of llcoro::suspend() calls -- also in the main loop. For a long time we retained a single unit test exercising the raw "dcoroutine" API. Remove that. Eliminate llcoro_get_id.{h,cpp}, which provided llcoro::get_id(), which was a hack to emulate fiber-local variables. Since Boost.Fiber has an actual API for that, remove the hack. In fact, use (new alias) LLCoros::local_ptr for LLSingleton's dependency tracking in place of llcoro::get_id(). In CMake land, replace BOOST_COROUTINE_LIBRARY with BOOST_FIBER_LIBRARY. We don't actually use the Boost.Coroutine for anything (though there exist plausible use cases).
2019-05-08Merge viewer-releaseGraham Linden
2019-01-03SL-10293 Firestorm PR: preferences and menu searchAndreyL ProductEngine
2018-07-18MAINT-8334 EEP UI control: Virtual TrackballAndreyL ProductEngine
2018-06-07MAINT-8331 EEP UI control: XYVectorAndreyL ProductEngine
2017-02-03DRTVWR-418: INTEGRATION_TEST_llurlentry depends on Hunspell.Nat Goodspeed
2016-04-04merge with 4.0.3-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-09-01In Linux build skip url entry testRider Linden
2015-09-01MAINT-5575: Convert the Experience cache into a coro based singleton.Rider Linden
--HG-- branch : MAINT-5575
2015-08-19Be sure the correct include is included.Rider Linden
2015-08-19Keep hunting these down.Rider Linden
2015-08-18Move the CoreHTTP libraries downRider Linden
2015-08-17Adding llcorehttp to linksRider Linden
2014-10-07MAINT-4548 & MAINT-4557 FIXED build issuesmaksymsproductengine
2014-09-22MAINT-4170 Eliminate homoglyphs in URL hostnames: used 3p-uriparser;maksymsproductengine
2013-11-06merge with releaseRichard Linden
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
consolidated most indra-specific constants in llcommon under indra_constants.h fixed issues with operations on mixed unit types (implicit and explicit) made LL_INFOS() style macros variadic in order to subsume other logging methods such as ll_infos added optional tag output to error recorders
2013-07-25Restore VITA LLNotiication APIJeff (Gioffredo Linden)
2013-07-25VITA test framework - record events supportJeff (Gioffredo Linden)
2013-06-05merge with viewer-releaseRichard Linden
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-11deleted unused .cpp fileRichard Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-12SH-3944 WIP CHUI merge fixingNyx Linden
re-introduced don's refactor of low-level openGL calls pulling out of llui and putting them into llrender. Took the new code from their updated versions from the CHUI merge, but put them in a place accessible to appearance utility.
2013-03-11Viewer-chui mergeprep
2012-12-03Cleaning up some unreferenced member variables and related types from ↵William Todd Stinson
LLNotifications.
2012-11-16CHUI-487, CHUI-488 FIXED (Enable flashing FUI button behavior and Implement ↵AlexanderP ProductEngine
Flashing Conversations panel line item behavior): implemented FUI button flashing; clean up code
2012-11-09Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.William Todd Stinson
2012-10-11Updating linux build to gcc4.6Don Kjer
2012-09-08Removed most llappearance -> llui dependencies (LLTrans remains). Moved ↵Don Kjer
LLInventoryIcon::EIconName into LLInventoryType. Moved LLInventoryIcon back to newview. Moved LLUI gl_* functions into llrender.
2012-08-08Move llhandle.h into llcommon; same generality as llpointer.h.Nat Goodspeed
Leaving llhandle.h in llui restricts the set of viewer project directories which could potentially use it, and there's nothing whatsoever UI-specific about it.
2012-07-27Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-release.Todd Stinson
2012-07-03CHUI-101 WIP Make LLFolderview general purposeRichard Linden
move llfolderview* into LLUI!
2012-06-21merge changes for DRTVWR-168Oz Linden
2012-06-19CHUI-127 FIXED (Make chat field auto resizable)Paul ProductEngine
- Replaced LLLineEditor with newly created LLChatEntry - Moved some functionality (such as setting label) to the LLTextBase as it can be useful to the other derived classes
2012-04-11fix ordering problem in libraries?Oz Linden
2012-04-10add hunspell libsOz Linden
2012-01-20moved LLSDParam to llcommon so that LLSD<->Param Block conversion are usable ↵Richard Linden
by everyone
2012-01-20removed LLXUIXML libraryRichard Linden
moved LLInitParam, and LLRegistry to llcommon moved LLUIColor, LLTrans, and LLXUIParser to llui reviewed by Nat
2012-01-20STORM-276 Basic spellchecking frameworkKitty Barnett
2011-10-15Automated merge with http://hg.secondlife.com/viewer-developmentRichard Linden
2011-10-03EXP-1286 : First pass at Drag and Drop of tools. Not functional. Most hooks ↵Merov Linden
into the LLToolDragAndDrop system in to support the new AT_WIDGET and SOURCE_VIEWER
2011-09-21Merge with latestLeslie Linden
2011-09-21EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all ↵Leslie Linden
buttons that I can d&d into the toolbars EXP-1232 FIX -- Create class to load and hold all of the command meta data associated with FUI toolbar actions * Added basic commands.xml file to define FUI-related toolbar actions. For now a basic "avatar" and "places" button are defined. * Added basic command manager to parse and hold strings that define potential toolbar command actions. * Broke out a separate floater function as a placeholder for the 3-state toolbar floater toggling. * LLUI::initClass now parses the new commands.xml file Reviewed by Richard.
2011-09-21EXP-1207 : LLToolbarView skeleton, nothing operational yet...Merov Linden
2011-09-19EXP-1228 WIP Create toolbar widget class that displays list of buttons ↵Richard Nelson
horizontally or vertically created toolbar class and widget
2011-09-06Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
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.