Commit Graph

297 Commits (5bfe6f57ae6242a8a28839fe6f9a143f29a03bb1)

Author SHA1 Message Date
Nat Goodspeed 9d5b897600 DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.
The previous implementation went to some effort to crash if anyone attempted
to create or destroy an LLInstanceTracker subclass instance during traversal.
That restriction is manageable within a single thread, but becomes unworkable
if it's possible that a given subclass might be used on more than one thread.

Remove LLInstanceTracker::instance_iter, beginInstances(), endInstances(),
also key_iter, beginKeys() and endKeys(). Instead, introduce key_snapshot()
and instance_snapshot(), the only means of iterating over LLInstanceTracker
instances. (These are intended to resemble functions, but in fact the current
implementation simply presents the classes.) Iterating over a captured
snapshot defends against container modifications during traversal. The term
'snapshot' reminds the coder that a new instance created during traversal will
not be considered. To defend against instance deletion during traversal, a
snapshot stores std::weak_ptrs which it lazily dereferences, skipping on the
fly any that have expired.

Dereferencing instance_snapshot::iterator gets you a reference rather than a
pointer. Because some use cases want to delete all existing instances, add an
instance_snapshot::deleteAll() method that extracts the pointer. Those cases
used to require explicitly copying instance pointers into a separate
container; instance_snapshot() now takes care of that. It remains the caller's
responsibility to ensure that all instances of that LLInstanceTracker subclass
were allocated on the heap.

Replace unkeyed static LLInstanceTracker::getInstance(T*) -- which returned
nullptr if that instance had been destroyed -- with new getWeak() method
returning std::weak_ptr<T>. Caller must detect expiration of that weak_ptr.

Adjust tests accordingly.

Use of std::weak_ptr to detect expired instances requires engaging
std::shared_ptr in the constructor. We now store shared_ptrs in the static
containers (std::map for keyed, std::set for unkeyed).

Make LLInstanceTrackerBase a template parameterized on the type of the static
data it manages. For that reason, hoist static data class declarations out of
the class definitions to an LLInstanceTrackerStuff namespace.

Remove the static atomic sIterationNestDepth and its methods incrementDepth(),
decrementDepth() and getDepth(), since they were used only to forbid creation
and destruction during traversal.

Add a std::mutex to static data. Introduce an internal LockStatic class that
locks the mutex while providing a pointer to static data, making that the only
way to access the static data.

The LLINSTANCETRACKER_DTOR_NOEXCEPT macro goes away because we no longer
expect ~LLInstanceTracker() to throw an exception in test programs.
That affects LLTrace::StatBase as well as LLInstanceTracker itself.

Adapt consumers to the new LLInstanceTracker API.
2020-03-25 15:28:17 -04:00
Nicky Dasmijn a135b5b428 Merge remote-tracking branch 'origin/ll-vs2017' into fs-vs2017 2019-12-21 13:14:51 +01:00
Nat Goodspeed b2913b7cf1 DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.
The previous implementation went to some effort to crash if anyone attempted
to create or destroy an LLInstanceTracker subclass instance during traversal.
That restriction is manageable within a single thread, but becomes unworkable
if it's possible that a given subclass might be used on more than one thread.

Remove LLInstanceTracker::instance_iter, beginInstances(), endInstances(),
also key_iter, beginKeys() and endKeys(). Instead, introduce key_snapshot()
and instance_snapshot(), the only means of iterating over LLInstanceTracker
instances. (These are intended to resemble functions, but in fact the current
implementation simply presents the classes.) Iterating over a captured
snapshot defends against container modifications during traversal. The term
'snapshot' reminds the coder that a new instance created during traversal will
not be considered. To defend against instance deletion during traversal, a
snapshot stores std::weak_ptrs which it lazily dereferences, skipping on the
fly any that have expired.

Dereferencing instance_snapshot::iterator gets you a reference rather than a
pointer. Because some use cases want to delete all existing instances, add an
instance_snapshot::deleteAll() method that extracts the pointer. Those cases
used to require explicitly copying instance pointers into a separate
container; instance_snapshot() now takes care of that. It remains the caller's
responsibility to ensure that all instances of that LLInstanceTracker subclass
were allocated on the heap.

Replace unkeyed static LLInstanceTracker::getInstance(T*) -- which returned
nullptr if that instance had been destroyed -- with new getWeak() method
returning std::weak_ptr<T>. Caller must detect expiration of that weak_ptr.

Adjust tests accordingly.

Use of std::weak_ptr to detect expired instances requires engaging
std::shared_ptr in the constructor. We now store shared_ptrs in the static
containers (std::map for keyed, std::set for unkeyed).

Make LLInstanceTrackerBase a template parameterized on the type of the static
data it manages. For that reason, hoist static data class declarations out of
the class definitions to an LLInstanceTrackerStuff namespace.

Remove the static atomic sIterationNestDepth and its methods incrementDepth(),
decrementDepth() and getDepth(), since they were used only to forbid creation
and destruction during traversal.

Add a std::mutex to static data. Introduce an internal LockStatic class that
locks the mutex while providing a pointer to static data, making that the only
way to access the static data.

The LLINSTANCETRACKER_DTOR_NOEXCEPT macro goes away because we no longer
expect ~LLInstanceTracker() to throw an exception in test programs.
That affects LLTrace::StatBase as well as LLInstanceTracker itself.

Adapt consumers to the new LLInstanceTracker API.
2019-12-02 14:39:24 -05:00
andreykproductengine dcb1bea0f6 SL-6109 Implement keybindings 2019-09-19 16:55:28 +03:00
Ansariel 61c56570ab Merge viewer-eep 2019-08-13 19:05:23 +02:00
Graham Linden 76128c4357 SL-10566 Use vector for some high-traffic, low-item count containers instead of list.
Provide method of storing joint indices sep from weight data for faster runtime processing.
2019-08-05 12:04:29 -07:00
Ansariel c96314964a Merge Firestorm LGPL 2019-03-01 17:36:52 +01:00
AndreyL ProductEngine 36cb6933e6 Merged in lindenlab/viewer-release 2019-03-01 02:24:00 +02:00
Ansariel 0b6531f60f Merge viewer-neko 2019-11-09 14:18:46 +01:00
Ansariel 8b6392c0aa Merge viewer-bugsplat 2018-12-16 13:04:08 +01:00
Nat Goodspeed c4096f670c SL-10153: Review and rationalize fetching paths from environment.
Use LLStringUtil::getenv() or getoptenv() whenever we fetch a string that will
be used as a pathname.

Use LLFile::tmpdir() instead of getenv("TEMP").

As an added extra-special bonus, finally clean up $TMP/llcontrol-test-zzzzzz
directories that have been accumulating every time we run a local build!
2018-12-14 15:38:13 -05:00
Ansariel 0e36db79e1 Merge viewer-neko 2018-12-01 16:34:33 +01:00
andreykproductengine baeca41027 SL-10089 Logs to see which gSavedSettings.get calls should be cached 2018-11-19 20:20:34 +02:00
Ansariel 5d924483a8 Merge viewer-cougar 2018-03-02 15:00:48 +01:00
Ansariel 09e3cab862 Add suggestion what to do in case of "Must supply a comment for control x" error to error message 2017-12-12 20:07:12 +01:00
ruslantproductengine 6770c27321 MAINT-6645 - Improvement - Agents that render as jelly dolls should have their attachments render at 0 LoD to prevent loading higher LoD complexity in memory thus deterring crashes.
Comments:
- Fix based on "RenderAutoMuteByteLimit" setting.
- File indra/llxml/llcontrol.h - add all signals to 0 group.
  It garanty that handlers (in indra/newview/llviewercontrol.cpp) will be called last.
2017-01-24 15:56:25 +02:00
Kitty Barnett eb43f227bc Merged cleanly with RLVa tip 2016-12-03 20:34:36 +01:00
Kitty Barnett 3361b63c15 [FIXED] RLVa can be enabled from the command prompt (bypassing user consent)
-> if detected force RLVa to disabled and inform the user

--HG--
branch : RLVa
2016-11-27 18:23:57 +01:00
Ansariel 1ca7437292 Transplant settings improvements to sanity check types 2016-03-31 21:52:47 +02:00
Ansariel 14954d999d Merge viewer-quickgraphics 2016-03-31 18:54:45 +02:00
Oz Linden 518f92126f improve settings error log, and make type conversion methods static 2016-03-23 11:50:39 -04:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Ansariel d9dc061224 Fix fake booleans 2015-08-04 09:59:42 +02:00
Nicky 006190f2a1 Merge with tools update. 2015-05-05 13:09:27 +02:00
Ansariel e00cc1c9ce Add LessThanEquals and GreaterThanEquals sanity type checks and remove kludges in settings.xml 2015-05-01 21:58:23 +02:00
Oz Linden 5c6cf3e7fb restore the ll[io]fstream because we need them as wrappers on Windows for wide char paths; on other platforms they are now just typedefs to the std classes 2015-04-10 11:02:37 -04:00
Oz Linden 8b42c7898e replace llifstream and llofstream with std::ifstream and std::ofstream respectively 2015-04-07 17:59:28 -04:00
Oz Linden 3a57b18896 convert llifstream and llofstream to std::ifstream and std::ofstream respectively 2015-04-07 17:28:05 -04:00
callum_linden cf2bdb285c Update to build on Xcode 6.0: more removal of unused const variables [-Wunused-const-variable] 2014-10-17 15:12:02 -07:00
Nicky 9c1ca8b72a FIRE-15874; do not write illegal characters into XML files. 2015-04-19 22:29:37 +02:00
Ansariel a45088cb6b Merge LL V3.7.11 2015-01-12 12:54:15 +01:00
Oz Linden a98b4b6bee merge changes for 3.7.7-release 2014-05-07 11:09:04 -04:00
Ansariel 3659e91bbb Fix attribution for 55799d8f7b99, cf9e0847adcc and 8882db725f44 that were originally done by Drake Arconis (Sovereign Engineer) 2014-08-29 08:42:14 +02:00
Ansariel 7d92321c3c Fix potential heap buffer overflow from using memcmp in llxmlnode; by Cinder Roxley 2014-08-26 21:49:50 +02:00
Oz Linden 776aadf4ef OPEN-199: replace the confusing STANDALONE switch with USESYSTEMLIBS 2014-03-19 17:30:07 -04:00
Tank_Master 6095a2072d more deprecated call fixes (llmsg -> LL_MSG() / llendl -> LL_ENDL) 2014-06-10 08:01:16 -07:00
Tank_Master 6babf8abd2 Merge LL 3.7.7 2014-06-09 11:29:57 -07:00
Richard Linden 6ddfc8031c BUILDFIX - miscellaneous stuff missed in the merge 2013-11-12 11:42:06 -08:00
Richard Linden 17e9c872ad Automated merge with http://bitbucket.org/lindenlab/viewer-release 2013-11-11 19:17:49 -08:00
Richard Linden fe518bde8e merge with release 2013-11-06 17:22:04 -08:00
Richard Linden 52da9f5f49 merge with viewer-release 2013-09-09 18:58:41 -07:00
Oz Linden 3364614f8b add "Settings" logging tag to make debugging settings loading easier 2013-08-29 09:27:12 -04:00
simon 64c5afa196 Merge latest viewer-release with FBC 2013-10-23 14:14:36 -07:00
maksymsproductengine 63cc379c72 MAINT-3270 FIXED crash in LLControlCache<unsigned int>::LLControlCache: Control named RenderAutoMuteFunctionsnot found 2013-10-04 02:50:50 +03:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden a2e22732f1 Summer cleaning - removed a lot of llcommon dependencies to speed up build times
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-30 19:13:45 -07:00
Nat Goodspeed d2386652f8 CHOP-962: Make LLControlVariable::setPersist() accept only enum.
Initial change made LLControlVariable::mPersist an enum, but retained
bool/BOOL public API. setPersist(true) set one value, setPersist(false) set
another, forcePersist() set the third. Per code review, expose enum to public,
make setPersist() (and LLControlVariable constructor, and LLControlGroup::
declareControl(), and all the LLControlGroup::declareMumble() methods, and all
the unit-test dummy declareMumble() method bodies) accept that enum. Remove
forcePersist(). Fix calls to LLControlGroup::declareMumble() accordingly.
Also rename PERSIST_YES to PERSIST_NONDFT, also per code review.
2013-07-25 16:46:51 -04:00
Nat Goodspeed 35bc91fc5d CHOP-962: Emit unrecognized-var log message only for Global settings.
LLControlGroup::loadFromFile() can of course detect which LLControlGroup
instance it's loading. We only want to log unrecognized settings variables in
LLControlGroup "Global". Settings for "Don't show me this again" notifications
are in group "Warnings".
2013-07-22 22:06:48 -04:00
Richard Linden 1ba17a5220 Automated merge with https://bitbucket.org/lindenlab/viewer-interesting 2013-07-22 11:04:05 -07:00
Richard Linden e5b51c7f6c BUIDLFIX: moved LLThreadSafeRefCount to proper file 2013-07-22 11:01:52 -07:00
Richard Linden e40065f82c BUILDFIX: #include and dependency cleanup 2013-07-19 15:03:05 -07:00
Richard Linden 075a7bcc98 SH-4297 WIP interesting: viewer-interesting starts loading cached scene late
dependency cleanup - removed a lot of unecessary includes
2013-07-18 15:09:45 -07:00
Nat Goodspeed fd14c250b8 CHOP-962: Preserve unrecognized user settings variables.
Change LLControlVariable::mPersist from bool to tri-state enum. Its 'true'
value used to mean "persist only if changed from default;" third state now
means "persist regardless of value." Add forcePersist() method to set that.
Replace isSaveValueDefault() method -- used only by logic to determine whether
to save the variable -- with shouldSave() method to encapsulate ALL that logic
rather than only part of it. shouldSave() recognizes PERSIST_ALWAYS state.
When loading an unrecognized control variable from a user settings file, use
forcePersist() to ensure that we later save that variable again.
Tweak one of the unit tests to adjust for new semantics.
2013-07-17 11:30:09 -04:00
Nat Goodspeed 2b3c1bd40d CHOP-962: Make LLControlGroup::declare* return LLControlVariable*
LLControlGroup::declareControl(), declareString() etc. etc. all used to return
BOOL -- which no one ever examines because it unconditionally returned TRUE.
Make it return the (possibly new) LLControlVariable* instead.
2013-07-17 08:23:42 -04:00
Graham Madarasz 025c890958 Merge vwr-dev-mat 2013-05-01 08:11:15 -07:00
Graham Madarasz 806d09b114 Merge 3.5.1 into Materials 2013-04-30 19:50:05 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
prep 207d9fd767 Viewer-chui merge 2013-03-11 14:45:53 -04:00
Don Kjer 54cdc322b8 Fixing issues with not detecting when LLSD XML parsing fails. Changing most http error handlers to understand LLSD error responses. Fleshing out most http error handler message spam. 2013-03-05 22:05:22 -08:00
Merov Linden faae38daaa Pull merge from lindenlab/viewer-developement 2013-01-30 20:01:03 -08:00
Nyx Linden 11fe124ae9 merging in viewer-beta.
Most of the merge was clean, a couple conflicts.
Brought over a couple patches manually for llpolymesh.
2013-01-24 16:22:49 -05:00
Tank_Master 6007d1235e merge snowstorm repo 2013-10-19 23:48:44 -07:00
Tank_Master 5a8d94c50f Merge LL 3.6.4 pass 1 2013-08-28 00:10:39 -07:00
Tank_Master 718f6fa0ff merge LL 3.6.1 2013-07-10 00:23:23 -07:00
Tank_Master d4640277d0 Merge LL 3.5.3 release. 2013-07-09 16:24:58 -07:00
Tank_Master 14001c54df Gastly CHUI merge pass 1, don't count on anything to work. 2013-06-26 12:14:54 -07:00
simon@Simon-PC.lindenlab.com 40e78a80cc Pull and merge viewer-development 2012-12-04 14:31:15 -08:00
prep e0432f98ee SH-3563. Pull and merge from viewer-development. Modest code changes to fix alignment issue in llAppearance. 2012-11-28 16:36:34 -05:00
William Todd Stinson 67bc42a80a Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta. 2012-11-20 16:20:40 -08:00
Don Kjer c06c35609c Updating linux build to gcc4.6 2012-10-11 00:09:04 +00:00
simon@Simon-PC.lindenlab.com 7e7f183f0a Fixed LLControlGroup::get() template to not crash on missing items. Reviewed
by Kelly
2012-10-02 09:31:38 -07:00
Don Kjer 8ba2b38876 Fleshed out target_link_libraries dependencies between libraries. Appearance utility now reads avatar_lad.xml during stubbed out params processing. 2012-09-13 10:25:48 +00:00
Nat Goodspeed 9e4927ece5 Make LLTransUtil::parseStrings() merge all relevant strings.xml files.
Until now, adding a xui/en/strings.xml file in any non-default skin meant you
had to clone the entire file, editing only the particular entries you wanted
to override. With this change, we load strings.xml file(s) from the default
skin before loading the specified skin -- so a non-default skin can now
provide a strings.xml file containing only the specific entries it wants to
override.
2012-10-11 17:29:04 -04:00
Todd Stinson 3e038cd71b Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-release. 2012-07-27 12:53:54 -07:00
Richard Linden 0a28a63ce0 fix for gcc builds 2012-07-24 12:03:00 -07:00
Richard Linden 176b7d82be CHUI-227 FIX Teleport offers sent are not received
cleaned up serialization of LLSD to param block so that it can round-trip
also, optimized LLXMLNode and fixed an assert
2012-07-23 19:33:39 -07:00
Tank_Master 1d43cb8943 Merge SSB push 4 2013-03-08 17:54:49 -08:00
Tank_Master 6207030884 Merge FS LGPL tip 2013-02-23 17:09:53 -08:00
Tank_Master ea86bb88c3 first pass merge 2013-02-04 10:52:32 -08:00
Tank_Master 169263d8b0 Merge LL 3.4.5 beta 3 2013-01-28 01:56:00 -08:00
ziree dbe377dd65 First draft of settings backup. Lacks selective restore, any form of notification or error messages yet. FIRE-1723 2013-01-07 21:37:25 +01:00
Ansariel e3f1d1b981 First round of URL updates for the new firestormviewer.org domain 2013-01-04 21:59:45 +01:00
Tank_Master cc44316aed Merge LL 3.4.3,
Note: aligned some of our code with LL's, spcifically feature table, gpu table, texture fetching, and some rendering defaults behavior.
2012-12-18 00:36:35 -08:00
Tank_Master cb24ec2e0d merge LL 3.3.4 beta
autoreplace does not work (needs a hook in nearby chat), no cmd line option to add new stuff
spellcheck only works when packaged
2012-07-16 21:59:14 -07:00
Todd Stinson 55392ef7f6 EXP-1942,EXP-1945: Altering behavior when setting maturity preference to check the server response in an effort to ensure the viewer and server remain in sync. This is a partial commit as I still need to add user behavior and notifications when things go wrong. 2012-05-24 19:41:20 -07:00
Ansariel bbf3db2857 Restored original LL code in llxmlnode.cpp and added matching comments 2012-06-07 17:57:53 +02:00
Armin Weatherwax 01cae35107 fix: LLXMLNode::parseStream return false and a NULL node if failing instead of a broken node and true 2012-06-06 12:56:11 +02:00
Tank_Master e61c20d499 Merge LL 3.3.1 Viewer Release 2012-04-26 17:31:35 -07:00
Tank_Master 0aff76bb6d Backed out changeset: 5c74172269a4 - use hashes to search llxmlnode (conflicts to much with LL's inventory speedup) 2012-04-26 01:13:28 -07:00
Vadim ProductEngine e328dcf406 EXP-1849 FIXED Privacy settings could be set to default when modifying other preferences before login. 2012-02-06 23:07:41 +02:00
Richard Linden 5a14a67e06 converted a bunch of narrowing implicit conversions to explicit 2012-02-01 13:03:46 -08:00
Richard Linden e219fc30ba EXP-1837 FIX parsing notifications.xml during startup can take > 40 seconds (in non-release builds)
removed O(n^2) comparisons of XML nodes in favor of O(n)
2012-01-23 17:38:47 -08:00
Nicky 1714747536 After merge compare FS tree agsindt V/dev.
- Adjust whitespaces/include order to make FS source look as close to V/dev as possible.
- Include source in V/dev that's not in FS and comment it out with an annotation.
2012-01-18 19:04:59 +01:00
Nicky 1536e416d7 Merge up to 25986 / 5d3e6c6e3b60 (FS). 2012-01-17 21:18:04 +01:00
Nicky 161c1b019f Merge up from 24496 / a656486925e8 (FS tip) to 25952 / 931cb0061118 (V/Dev FUI tip)
Observations and broken stuff so far:
- LLSideTray is gone.
- LLBottomTray is gone.
- LLFloaterSnapshot was changed and gave lots of merge conflicts. Flickr upload will be broken.
- LLNearbyChat is derived from LLPanel now. That broke quite some stuff rearding autohiding and docking of chatbar.
- Profile floaters are gone and all web based now.
- Russian translation gave huge mere conflicts with the new russian xml files from LL. Unmergeable. I took the LL files.
- XUI files in general will need some love and testing.
2012-01-17 17:57:52 +01:00
Ansariel 12c3c4c747 Possible crash fix for sanity checker 2012-01-15 22:05:01 +01:00
Xiaohong Bao 2851cd5193 a try fix for sh-2651: [crashhunters] Crash after google translate failure
and sh-2658: crash in LLPluginMessage::parse
2011-11-28 11:33:49 -07:00
Xiaohong Bao be3c6747a8 remove redundant memory allocation for sh-2651: [crashhunters] Crash after google translate failure 2011-11-22 11:53:44 -07:00
Nat Goodspeed b59c0a6680 Automated merge with http://hg.secondlife.com/viewer-development 2011-09-06 13:58:47 -04:00
Nat Goodspeed 54399f1f87 CHOP-763: publish LLControlGroup::typeStringToEnum(), typeEnumToString()
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-09-01 13:01:08 -04:00
Xiaohong Bao 749d9ebadc Merge 2011-08-31 10:48:56 -06:00
Oz Linden f0bc8a0f71 convert tabs to spaces where they are forbidden 2011-08-17 12:33:23 -04:00
Xiaohong Bao d951267467 Merge from viewer-development 2011-07-15 12:14:34 -06:00
Dave Parks 93696ac019 merge 2011-05-12 17:39:08 -05:00
brad kittenbrink 42fe138cbb Incorporated some suggestions from code review for VWR-25610 2011-04-27 19:13:17 -07:00
brad kittenbrink 2840bff773 FIX VWR-25610: LLControlCroup::loadFromFile makes unnecessary copies of large LLSD objects. 2011-04-26 15:10:39 -07:00
Richard Linden 8886460a22 SOCIAL-654 WIP Items purchased on Marketplace.secondlife.com while logged into Minimal skin are declined and not present in inventory
made notification text skinnable
2011-03-09 00:21:57 -08:00
Loren Shih 037a83cd47 Automated merge up from viewer-development into mesh-development 2011-03-16 14:54:56 -04:00
Xiaohong Bao 01cdeb0cdd Merge from viewer-development 2011-02-23 10:44:59 -07:00
Richard Linden 5aa43e4f3e SOCIAL-545 WIP Figure out how to configure skylight-specific settings while retaining relevant user settings (login account name, etc.)
converted settings_file.xml to use param block descriptions for easier modification
added session settings file and user session settings file for per-session config overrides
2011-02-22 19:30:50 -08:00
Loren Shih 618249155a Automated merge up from viewer-development 2010-12-13 10:08:55 -05:00
Xiaohong Bao f4ff1430f0 first iteration of memory pool code 2010-12-03 22:16:16 -07:00
Monroe Linden 1e050c2ed8 merge 2010-12-02 14:33:42 -08:00
Loren Shih bfd8efb057 Automated merge up from viewer-development 2010-12-01 10:55:24 -05:00
Nat Goodspeed 656b936915 Add name, value info to convert_from_llsd<> specialization LL_ERRS.
Prior to this, you could get a viewer crash whose ERROR: message said only:
convert_from_llsd<std::string>: Invalid string value
This gave no hint as to *which value* was wrong, or where to go fix it.
Ironically, each convert_from_llsd<> specialization already has the
control_name and LLSD value in hand; added these to each such LL_ERRS message.
2010-11-09 14:40:32 -05:00
Xiaohong Bao b0bae417ee a try fix for sh-2651: [crashhunters] Crash after google translate failure
and sh-2658: crash in LLPluginMessage::parse
2011-11-28 11:33:49 -07:00
ziree a510ca889d Added settings sanity checking system. 2011-12-13 00:46:43 +01:00
Arrehn 7394730eaa Merge up to LL FUI 2011-10-28 02:00:09 -04:00
Arrehn 9fd0edb326 Initial 2.8.3+ merge, Tozh & Arrehn
Issues: Graphics preferences tab, lighting, depth of field
Issues: Color preferences tab, new direct chat
Issues: Build floater Mesh build tab
Issues: German translations of build, viewer menus
Issues: pipeline issues with mac, possibly other things
Issues: uploading content / temp content
Issues: Windlight quickprefs, parcel windlight, RLVa windlight
2011-08-26 11:18:49 -04:00
Arrehn e277b8a4ac Merge with LL 2.6.9, initial work. Needs tests, extra XUI merging with particular skins. 2011-08-04 11:53:40 -04:00
Liny e50e549fe0 Fixing FIRE-1043 (thanks Mysty Saunders for finding the bug so fast and confirming the fix works) 2011-05-14 19:05:57 -07:00
Liny d7d65204df Make the client error out if it fails to parse an xml file (only errors if built with debug info or is debug build, release wont error).
This should make it easier to catch XML format errors before commiting them.
2011-05-14 18:43:04 -07:00
Alexie Birman 882c80b778 Upload-to-Flickr 2011-04-10 15:23:44 +01:00
Arrehn 10e88f3891 Merge with RLVa-LL2.5.2 2011-04-09 22:24:22 -07:00
Liny 7065a9ef5e Making a llerrs error message more readable by putting a space where it should have had one.
(LGPL) //only to get in the habbit of needing that in the message
2011-01-18 20:47:47 -08:00
Arrehn a30a9064b1 Merge Firestorm up to LL 2.4 Release. (initial pass)
RLVa needs additional merging
2011-01-18 00:50:43 -05:00
Arrhen 14dc0106cd FIRE-136 : Nicky Dasmijn, use hashes to search llxmlnode 2010-12-07 23:50:30 -05:00
Arrehn 15c8a8cc0a Branding updaters & Crashloggers. These aren't used, but better to do it now. 2010-11-21 12:05:51 -05:00
Oz Linden a5619d16f7 correct licenses (fix problem with license change merge) 2010-10-13 07:24:37 -04:00
Richard Linden 0fa63baf37 fix for gcc 2010-10-07 11:30:55 -07:00
Richard Nelson 0e05afdac5 allow passing LLSD arguments on command line 2010-10-06 19:41:55 -07:00
Dave Parks 295de1a537 Put some errant tests under if (LL_TESTS) conditional. 2010-09-30 15:56:41 -05:00
Dave Parks 7c2b9221d6 merge 2010-09-27 15:20:27 -05:00
Brad Payne (Vir Linden) 90e3d83a5c Fix for build failures - disabling tcmalloc for now 2010-09-21 13:26:52 -04:00
Aimee Linden 855192a83b VWR-20768 (SNOW-507) FIXED Missing LL_TEST conditions in cmake files 2010-08-18 17:41:36 +01:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Tofu Linden b7405a144e CID-266
Checker: UNINIT_CTOR
Function: LLXmlTreeParser::LLXmlTreeParser(LLXmlTree *)
File: /indra/llxml/llxmltree.cpp
2010-02-03 20:45:53 +00:00
Tofu Linden a788f758e4 CID-267
Checker: UNINIT_CTOR
Function: LLXMLNode::LLXMLNode(const LLXMLNode&)
File: /indra/llxml/llxmlnode.cpp
2010-02-03 20:44:32 +00:00
Steven Bennetts f9385314ac Backporting from hg branch @ 3495: Fix to integration test. 2009-10-19 22:31:47 +00:00
Adam Moss d999da2072 DEV-41407 resurrect and fix LLControlGroup test, convert it to a llxml integration test. 2009-10-16 13:28:31 +00:00
James Cook ada0f4fa22 Merge inspectors UI project, gooey-4, into viewer-2 trunk. Added new tooltips to 3D avatars, 2D avatar names, and 3D objects. Refactors tooltips and text boxes, line editors, and text editors. Breaks LLExpandableTextBox, but a fix is coming.
Resolved conflicts in lltexteditor.cpp, llchatitemscontainerctrl.cpp, llchatmsgbox.cpp, llfloaterbuycurrency.cpp, llnearbychat.cpp, floater_buy_currency.xml, and ru/strings.xml

Merging revisions 134925-135157 of svn+ssh://svn.lindenlab.com/svn/linden/branches/gooey/gooey-4 into C:\source\viewer-2.0.0-3, respecting ancestry
2009-10-03 23:40:28 +00:00
Richard Nelson 138bf11322 merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3
DEV-11254 DEV-11254 DEV-2003: DEV-21567 DEV-37301 EXT-104 EXT-138 EXT-217 EXT-256 EXT-259 EXT-259 EXT-328 EXT-348 EXT-386 EXT-399 EXT-403 EXT-460 EXT-492 EXT-492 EXT-531 EXT-537 EXT-684

improved text editor (handles multiple fonts simultaneously as well as inline widgets)
2009-08-24 20:04:52 +00:00
James Cook 8f7ec64899 Merged skinning-17 into viewer-2 for bug fixes. Commented out new IM window for now, not complete.
Merging revisions 127913-128319 of svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-17 into D:\viewer-2.0.0-3, respecting ancestry
2009-07-27 17:56:26 +00:00
Mark Palange 0274c1f2b1 Merged work for DEV-2066 (and formerly QAR-1538) in Viewer 2.
merged all changes, post copy, from the following branches:
linden/brachnes/enable-o-v
user/cg/qar-1538
user/mani/viewer2-enable-o-v
2009-07-16 17:54:58 +00:00
Neal Orman 56e0455479 QAR-1602 Checkpoint for Avatar Pipeline Multiple textures branch
Merging changes for first checkpoint of multiple textures branch as part of the avatar pipeline project (AVP). Functionality should be same as before, but sets up the structure that later changes build upon. Changes passed QA, merge conflicts were minimal and easily resolved. Contact Nyx with any problems with this code.


 -Nyx
2009-07-14 15:14:46 +00:00
James Cook 52aeaa3284 Merge skinning-14 to viewer-2, including refactoring many floaters to register them with LLFloaterReg, support for introspection of ParamBlock based UI widgets to dump XML schema, splitting llfolderview.cpp into three separate files to unravel dependencies and skeleton for for LLListView widget. Resolved conflicts in these files:
lldraghandle.h, lluictrl.h, llchiclet.cpp, llfolderview.h/cpp, lliinventorybridge.cpp, llpanelpicks.cpp, llviewermenu.cpp, floater_mute.xml, floater_preferences.xml, notifications.xml, panel_preferences_audio.xml, panel_preferences_graphics1.xml, panel_region_general.xml
svn merge -r124961:126284 svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-14
2009-07-07 00:53:05 +00:00
Nat Goodspeed fcaa1ad46f QAR-1383: convert new uses of Boost.Signals (arriving from other branches) to
Boost.Signals2 like the rest of the event-system-n code.
2009-06-22 12:52:18 +00:00
Steven Bennetts ade6bbb06c merge -r 124105-124625 skinning-13 -> viewer-2.0.0-3 2009-06-21 17:16:27 +00:00