summaryrefslogtreecommitdiff
path: root/indra/llcommon/llinitparam.h
AgeCommit message (Collapse)Author
2023-01-09Eliminate needless copiesFawrsk
2023-01-07Cleanup for loops in llcommon to use C++11 range based for loopsFawrsk
2018-10-03DRTVWR-474: Do NOT autokill updater process on viewer termination.Nat Goodspeed
The updater is required to survive beyond termination of the viewer that launched it so it can launch the next installer, or a replacement viewer. Having the old viewer forcibly terminate it on shutdown would be counter- productive. Introduce a third LLLeap::create() overload taking LLProcess::Params, which gives access to autokill, cwd and other options previously unsupported by LLLeap. Reimplement the existing create() overloads in terms of this new one, since LLLeapImpl::LLLeapImpl() is already based on LLProcess::Params anyway. Use LLProcess::Params in LLAppViewer::init() to specify the updater process, setting autokill=false. Refactoring LLLeapImpl() apparently involved engaging an LLInitParam::Block feature never before used: had to drag operator() into Multiple from its base class TypedParam (as has been done in other TypedParam subclasses).
2016-09-30MAINT-6783 Xml parser warnings should show the file nameMnikolenko Productengine
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-01-22Disambiguate constructor's initialization call to its base class.Nat Goodspeed
A particular LLInitParam::TypeValuesHelper specialization is derived from a different TypeValuesHelper specialization. The subclass constructor TypeValuesHelper(...) has previously forwarded the call to its base-class constructor with: TypeValuesHelper(val): TypeValuesHelper(val) {} This is the first time I've looked at that; I'm a bit surprised that previous compilers blithely accept it, and apparently understand the intent. gcc 4.7 complains that we would need to turn on -std=c++11 to support delegating constructors; obviously the second TypeValuesHelper is now assumed to be the class being defined, rather than its base class. Fortunately the class already has typedefs for both specializations, fully qualified with all template parameters, so I simply replaced the second TypeValuesHelper reference with base_t.
2014-10-17Update to build on Xcode 6.0: additional scoping required for clangcallum_linden
2014-05-24MAINT-4009: Patching a memory leak of ParamDescriptor objects.Stinson Linden
2014-05-07Pull and merge viewer-release as version 3.7.8simon
2013-12-09MAINT-3017 FIX Inventory filter for Recent tab does not persist between ↵Richard Linden
sessions as it used to. added names back to inventory filters, so they can be deserialized
2013-10-08merge from viewer-releaseRichard Linden
2013-08-23MAINT-3046 fix test regression from debug llassert accidentally checked in ↵Graham Linden
with crash fix
2013-08-23MAINT-3046 make LLNotifications clear out vecs of LLNotificationChannelPtr ↵Graham Madarasz (Graham Linden)
so singleton cleanup doesn't do things it really ought not do
2013-07-19BUILDFIX: #include and dependency cleanupRichard Linden
2013-06-05BUILDFIX: fixed llviewerassetstats test and render2dutils changesRichard Linden
that were dropped in merge
2013-06-05merge with viewer-releaseRichard Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-22merge with viewer-releaseRichard Linden
2013-02-18Automated merge with https://bitbucket.org/lindenlab/viewer-chuiRichard Linden
2013-02-18CHUI-739 FIX FUI toolbars not displayed when switching between CHUI and ↵Richard Linden
release viewer param blocks no longer write enums as ints
2013-02-14CHUI-739 : Clean up : FUI toolbars not displayed when switching between CHUI ↵AlexanderP ProductEngine
and release viewer
2013-02-13CHUI-739 Fixed! FUI toolbars not displayed when switching between CHUI and ↵AlexanderP ProductEngine
release viewer : parsing declare values of Enums
2013-01-30Pull merge from lindenlab/viewer-developementMerov Linden
2012-11-14SH-3406 WIP convert fast timers to lltrace systemRichard Linden
cleaning up build moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc streamlined Time class and consolidated functionality in BlockTimer class llfasttimer is no longer included via llstring.h, so had to add it manually in several places
2012-11-09Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.William Todd Stinson
2012-11-05SH-3499 WIP Ensure asset stats output is correctRichard Linden
fixed copy behavior of recordings and accumulator buffers
2012-11-02SH-3499 Ensure asset stats output is correctRichard Linden
improvements to predicate API default rules encapsulated in LLInitParam removed empty flag from viewer asset stats
2012-11-01SH-3499 Ensure asset stats output is correctRichard Linden
added support for specifying predicates for xui and llsd serialization
2012-10-26SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed llpredicate so that values and rules work uniformly with predicate logic and/or/negate works in parallel with set/clear
2012-10-25SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed crash on exit
2012-10-23SH-3405 WIP convert existing stats to lltrace systemRichard Linden
improved predicate system, added uncertain/unknown predicates
2012-10-22Automated merge with ssh://hg.lindenlab.com/richard/viewer-interestingRichard Linden
2012-10-22SH-3405 WIP convert existing stats to lltrace systemRichard Linden
added return value to serialize function to track if any values were written
2012-10-22SH-3405 WIP convert existing stats to lltrace systemRichard Linden
sanitized param block code to accept isValid and isProvided at any point added predicates to control serialization
2012-10-19SH-3405 WIP convert existing stats to lltrace systemRichard Linden
finished most of conversion of llviewerassetstats ported some param block fixes from viewer-chui converted viewer asset stats to param block format
2012-09-12MAINT-1556 FIX LLSD param blocks should accept enum valuesRichard Linden
fix for gcc builds
2012-09-11MAINT-1556 FIX LLSD param blocks should accept enum valuesRichard Linden
always parse named values first added detection of enum-type values and now parse as ints
2012-08-09Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.Todd Stinson
2012-08-03CHUI-270 FIX Progress spinner not visible in merchant outboxRichard Linden
2012-07-27Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui/.Todd Stinson
2012-07-27Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-release.Todd Stinson
2012-07-18MAINT-1175: Ditch LLTypeInfoLookup, make map<const type_info*> work.Nat Goodspeed
Instead of forbidding std::map<const std::type_info*, ...> outright (which includes LLRegistry<const std::type_info*, ...> and LLRegistrySingleton<const std::type_info*, ...>), try to make it work by specializing std::less<const std::type_info*> to use std::type_info::before(). Make LLRegistryDefaultComparator<T> use std::less<T> so it can capitalize on that specialization.
2012-07-11MAINT-1175: Properly pass LLRegistry's COMPARATOR to underlying map.Nat Goodspeed
Although LLRegistry and LLRegistrySingleton have always defined a COMPARATOR template parameter, it wasn't used for the underlying map. Therefore every type, including any pointer type, was being compared using std::less. This happens to work most of the time -- but is tripping us up now. Pass COMPARATOR to underlying std::map. Fix a couple minor bugs in LLRegistryDefaultComparator (never before used!). Specialize for const char*. Remove CompareTypeID and LLCompareTypeID because we now actively forbid using LLRegistry<std::type_info*, ...>; remove only known reference (LLWidgetNameRegistry definition).
2012-07-11MAINT-1175: Change LLTypeInfoLookup API for future optimizations.Nat Goodspeed
Per discussion with Richard, accept the type key for insert() and find() as a template parameter rather than as std::type_info*. This permits (e.g.) some sort of compile-time prehashing for common types, without changing the API. Eliminate iterators from the API altogether, thus avoiding costs associated with transform_iterator. Fix existing references in llinitparam.h.
2012-05-09Automated merge with http://hg.secondlife.com/viewer-releaseNat Goodspeed
2012-04-11Fix Linux UI issues introduced by moving llinitparam to llcommon.Nat Goodspeed
In a number of places, the viewer uses a lookup based on std::type_info*. We used to use std::map<std::type_info*, whatever>. But on Linux, &typeid(SomeType) can produce different pointer values, depending on the dynamic load module in which the code is executed. Introduce LLTypeInfoLookup<T>, with an API that deliberately mimics std::map<std::type_info*, T>. LLTypeInfoLookup::find() first tries an efficient search for the specified std::type_info*. But if that fails, it scans the underlying container for a match on the std::type_info::name() string. If found, it caches the new std::type_info* to optimize subsequent lookups with the same pointer. Use LLTypeInfoLookup instead of std::map<std::type_info*, ...> in llinitparam.h and llregistry.h. Introduce LLSortedVector<KEY, VALUE>, a std::vector<std::pair<KEY, VALUE>> maintained in sorted order with binary-search lookup. It presents a subset of the std::map<KEY, VALUE> API.
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