Commit Graph

20 Commits (ec00f7f14fbf16992b71ddd54e583ba07fdfd523)

Author SHA1 Message Date
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Richard Linden 0cd94a4dd5 Automated merge with https://bitbucket.org/lindenlab/viewer-chui 2013-02-18 20:38:27 -08:00
Richard Linden 45849294ce CHUI-739 FIX FUI toolbars not displayed when switching between CHUI and release viewer
param blocks no longer write enums as ints
2013-02-18 20:30:22 -08:00
AlexanderP ProductEngine 638d94eef7 CHUI-739 : Clean up : FUI toolbars not displayed when switching between CHUI and release viewer 2013-02-14 18:51:13 +02:00
AlexanderP ProductEngine c7cac7896e CHUI-739 Fixed! FUI toolbars not displayed when switching between CHUI and release viewer : parsing declare values of Enums 2013-02-13 20:44:38 +02:00
Merov Linden faae38daaa Pull merge from lindenlab/viewer-developement 2013-01-30 20:01:03 -08:00
William Todd Stinson c9044c03b3 Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta. 2012-11-09 18:51:23 -08:00
Richard Linden 56f7472816 MAINT-1556 FIX LLSD param blocks should accept enum values
fix for gcc builds
2012-09-12 16:16:49 -07:00
Richard Linden e2c48e65f2 MAINT-1556 FIX LLSD param blocks should accept enum values
always parse named values first
added detection of enum-type values and now parse as ints
2012-09-11 17:33:33 -07:00
Todd Stinson 268d5bd4bd Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development. 2012-08-09 17:04:00 -07:00
Richard Linden 118e3b33bd CHUI-270 FIX Progress spinner not visible in merchant outbox 2012-08-03 17:43:48 -07:00
Todd Stinson c1aa0cc4fc Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui/. 2012-07-27 15:38:03 -07:00
Todd Stinson 3e038cd71b Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-release. 2012-07-27 12:53:54 -07:00
Nat Goodspeed 2e83dfa217 MAINT-1175: Ditch LLTypeInfoLookup, make map<const type_info*> work.
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-18 20:33:54 -04:00
Nat Goodspeed 709c1eeae9 MAINT-1175: Properly pass LLRegistry's COMPARATOR to underlying map.
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-11 14:13:45 -04:00
Nat Goodspeed 578d70dec0 MAINT-1175: Change LLTypeInfoLookup API for future optimizations.
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-07-11 08:20:14 -04:00
Nat Goodspeed a5b0147df4 Automated merge with http://hg.secondlife.com/viewer-release 2012-05-09 22:33:04 -04:00
Nat Goodspeed 5459f2ee98 Fix Linux UI issues introduced by moving llinitparam to llcommon.
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-04-11 11:01:00 -04: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
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