Commit Graph

40429 Commits (bd008a170898e69beeb8bc0481b4bfd94de86c55)

Author SHA1 Message Date
Oz Linden 0c60dea99e update calls to new codeticket 2016-09-20 14:31:38 -04:00
andreykproductengine 6e3acac4f0 MAINT-6735 brackets fix 2016-09-20 20:42:57 +03:00
andreykproductengine c9cfa897d9 MAINT-6655 fixed group list and inspector not always switching to default icon 2016-09-20 17:47:30 +03:00
andreykproductengine e638f635c8 MAINT-6735 Teleport offer sound does not play when the the destination region's maturity exceeds the current maturity settings 2016-09-20 16:45:42 +03:00
Brad Payne (Vir Linden) 2be27c26e8 merge 2016-09-20 08:12:56 -04:00
Brad Payne (Vir Linden) 8df3092c8b SL-455 - tweaks to skel_tool.py 2016-09-20 08:08:55 -04:00
Mnikolenko Productengine 56060218c3 MAINT-6733 FIXED On build disabled land, the build button is enabled when left clicking any touchable object. 2016-09-19 12:11:39 +03:00
Nat Goodspeed d0249fb7c0 MAINT-5232: Eliminate pointless string search for "class " prefix.
The Visual C++ runtime produces typeid(MyClass).name() as "class MyClass".
It's prudent to check for the presence of that prefix before stripping off the
first six characters, but if the first comparison should ever fail, find()
would continue searching the rest of the string for "class " -- a search
guaranteed to fail. Use compare() instead.
2016-09-17 20:54:50 -04:00
Rider Linden 8d86f5a0c4 Merge 2016-09-16 16:00:07 -07:00
Rider Linden 100aa4b79e Merge 2016-09-16 14:59:52 -07:00
Rider Linden 884b03e877 Merge 2016-09-16 14:43:35 -07:00
Rider Linden 68b8d2658a MAINT-6570: Fix bad merge. 2016-09-16 14:38:35 -07:00
Nat Goodspeed 0f0920135a MAINT-5232: Fix a couple new LLGlobalEconomy::Singleton references. 2016-09-16 11:45:15 -04:00
Nat Goodspeed 099e3b4166 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-09-16 11:04:12 -04:00
andreykproductengine c94496db9e MAINT-6694 Console overflow crash in gestures. 2016-09-16 16:34:47 +03:00
Andrey Lihatskiy 8a3780405f Merged in natty_linden/viewer-webprofileurl (pull request #16)
MAINT-6731 Use web profile URLs from the grid configuration
2016-09-16 18:43:42 +03:00
Andrey Lihatskiy c7f92169e1 Merged in Ansariel/viewer-bear-coro-namefix (pull request #14)
Fix HttpCoroutineAdapter name for clarity
2016-09-16 18:30:37 +03:00
Nat Goodspeed d2c3c2f9fe MAINT-5232: Normalize LLSingleton subclasses.
A shocking number of LLSingleton subclasses had public constructors -- and in
several instances, were being explicitly instantiated independently of the
LLSingleton machinery. This breaks the new LLSingleton dependency-tracking
machinery. It seems only fair that if you say you want an LLSingleton, there
should only be ONE INSTANCE!

Introduce LLSINGLETON() and LLSINGLETON_EMPTY_CTOR() macros. These handle the
friend class LLSingleton<whatevah>;
and explicitly declare a private nullary constructor.

To try to enforce the LLSINGLETON() convention, introduce a new pure virtual
LLSingleton method you_must_use_LLSINGLETON_macro() which is, as you might
suspect, defined by the macro. If you declare an LLSingleton subclass without
using LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() in the class body, you can't
instantiate the subclass for lack of a you_must_use_LLSINGLETON_macro()
implementation -- which will hopefully remind the coder.

Trawl through ALL LLSingleton subclass definitions, sprinkling in
LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() as appropriate. Remove all explicit
constructor declarations, public or private, along with relevant 'friend class
LLSingleton<myself>' declarations. Where destructors are declared, move them
into private section as well. Where the constructor was inline but nontrivial,
move out of class body.

Fix several LLSingleton abuses revealed by making ctors/dtors private:

LLGlobalEconomy was both an LLSingleton and the base class for
LLRegionEconomy, a non-LLSingleton. (Therefore every LLRegionEconomy instance
contained another instance of the LLGlobalEconomy "singleton.") Extract
LLBaseEconomy; LLGlobalEconomy is now a trivial subclass of that.
LLRegionEconomy, as you might suspect, now derives from LLBaseEconomy.

LLToolGrab, an LLSingleton, was also explicitly instantiated by
LLToolCompGun's constructor. Extract LLToolGrabBase, explicitly instantiated,
with trivial subclass LLToolGrab, the LLSingleton instance.

(WARNING: LLToolGrabBase methods have an unnerving tendency to go after
LLToolGrab::getInstance(). I DO NOT KNOW what should be the relationship
between the instance in LLToolCompGun and the LLToolGrab singleton instance.)

LLGridManager declared a variant constructor accepting (const std::string&),
with the comment:
// initialize with an explicity grid file for testing.
As there is no evidence of this being called from anywhere, delete it.

LLChicletBar's constructor accepted an optional (const LLSD&). As the LLSD
parameter wasn't used, and as there is no evidence of it being passed from
anywhere, delete the parameter.

LLViewerWindow::shutdownViews() was checking LLNavigationBar::
instanceExists(), then deleting its getInstance() pointer -- leaving a
dangling LLSingleton instance pointer, a land mine if any subsequent code
should attempt to reference it. Use deleteSingleton() instead.

~LLAppViewer() was calling LLViewerEventRecorder::instance() and then
explicitly calling ~LLViewerEventRecorder() on that instance -- leaving the
LLSingleton instance pointer pointing to an allocated-but-destroyed instance.
Use deleteSingleton() instead.
2016-09-15 20:18:12 -04:00
Oz Linden 51bb369a39 increment viewer version to 4.0.9 2016-09-15 15:31:31 -04:00
Oz Linden 7d20fbdb66 Added tag 4.0.8-release for changeset 45eaee56883d 2016-09-15 15:31:31 -04:00
andreykproductengine f0c469b649 MAINT-6734 Fixed processData() crash in LLMeshHeaderHandler 2016-09-15 19:22:10 +03:00
AndreyL ProductEngine 8c5e92a399 Merged in pavelkproductengine/visual-outfit-browser 2016-09-15 23:22:58 +03:00
AndreyL ProductEngine c2b6620572 Merged in lindenlab/viewer-release 2016-09-15 23:21:15 +03:00
Natty Linden 98cb925185 MAINT-6731 Use web profile URLs from the grid configuration 2016-09-14 15:53:58 -07:00
Rider Linden 51236b7c9c Merge 2016-09-14 09:55:18 -07:00
Mnikolenko Productengine 3c8cc4d2ac MAINT-6723 FIXED [VOB] Crash in LLOutfitGallery::buildItemPanel(int) 2016-09-14 18:27:54 +03:00
andreykproductengine da23e0f925 MAINT-6726 Fixed LLLineEditor menus staying in memory forever 2016-09-13 20:32:34 +03:00
andreykproductengine a195406e48 MAINT-6726 Fixed LLLineEditor menus staying in memory forever 2016-09-13 20:32:34 +03:00
Brad Payne (Vir Linden) 0ed6b643d3 SL-455 - avatar_lad.xml small fixes for asymmetry bugs 2016-09-13 06:42:33 -04:00
Mnikolenko Productengine 07cc376831 MAINT-6718 Can't Wear - Replace current outfits. 2016-09-13 13:02:20 +03:00
Brad Payne (Vir Linden) a11538e034 SL-455 - skel_tool.py check for avatar_lad.xml slider symmetries 2016-09-12 16:50:32 -04:00
Brad Payne (Vir Linden) 5cd545c40e SL-455 - Fix for slider bug: body width on mTail6 had wrong scales. 2016-09-12 10:50:26 -04:00
Brad Payne (Vir Linden) b5bbb9f5d5 SL-109 - in skel_tool.py, added check for bone drivers that don't do anything. 2016-09-12 10:48:35 -04:00
andreykproductengine ff118b7d21 MAINT-6720 Fixed onVisibilityChange() crash in LLTextBase 2016-09-12 17:45:12 +03:00
andreykproductengine 50ed0db1ff MAINT-6720 Fixed onVisibilityChange() crash in LLTextBase 2016-09-12 17:45:12 +03:00
Mnikolenko Productengine 94f65c53a1 SL-444 Add Abuse Report Submision Confirmation Pop up 2016-09-12 12:04:05 +03:00
callum@lindenlab.com 921cfa355c MAINT-6462 Built-in browser plays video vertically flipped 2016-09-09 11:46:50 -07:00
andreykproductengine 8bb95eb8f8 MAINT-6711 "Object view" rotates around the avatar 2016-09-09 16:17:43 +03:00
Callum Prentice 4a95c4b36c Restore version of CEF that has the correct Y flipping enabled - (2526/chrome47 version - soon to be replaced with 2704/chrome 51) 2016-09-07 16:13:09 -07:00
Oz Linden 3e16c29edc don't upload summary.json 2016-09-07 13:57:34 -04:00
Oz Linden e2855de8bc do not display the autobuild package data 2016-09-07 13:33:10 -04:00
Oz Linden a388504ed2 fix symbolfile upload 2016-09-07 13:32:49 -04:00
Oz Linden 65a7a02d29 pass autobuild-package.xml to graph generator 2016-09-07 11:49:52 -04:00
Oz Linden 9d5bf8df82 directly invoke codeticket for output 2016-09-07 11:34:10 -04:00
Nat Goodspeed c7cb6636c4 MAINT-6584, MAINT-5011: Change new 'throw' to LLTHROW()
to be consistent with new exception conventions.
2016-09-07 10:57:07 -04:00
Nat Goodspeed dd1a0218b1 Automated merge with ssh://bitbucket.org/lindenlab/viewer-vlc 2016-09-07 10:46:28 -04:00
Mnikolenko Productengine 1de6e0830c MAINT-6699 FIXED [VOB] Crash in LLSnapshotLivePreview::getBigThumbnailImage() 2016-09-07 17:26:07 +03:00
AndreyL ProductEngine 464d70c546 Dummy commit to fix the teamcity builds 2016-09-07 08:08:19 +03:00
Nat Goodspeed 1cadeb40df MAINT-5232: Prevent runaway LLSingletonBase::MasterList growth.
Until we reimplement LLCoros on Boost.Fiber, we must hand-implement
coroutine-local data. That presently takes the form of a map keyed on
llcoro::id, whose values are the stacks of currently-initializing LLSingleton
instances.

But since the viewer launches an open-ended number of coroutines, we could end
up with an open-ended number of map entries unless we intentionally prune the
map. So every time we pop the stack to empty, remove that map entry.

This could result in thrashing, a given coroutine's 'initializing' stack being
created and deleted for almost every LLSingleton instantiated by that
coroutine -- but the number of different LLSingletons is necessarily static,
and the lifespan of each is the entire rest of the process. Even a couple
dozen LLSingletons won't thrash that badly.
2016-09-06 21:25:57 -04:00
Nat Goodspeed 90f424980a MAINT-5232: Make LLSingleton's 'initializing' stack coro-specific.
The stack we maintain of which LLSingletons are currently initializing only
makes sense when associated with a particular C++ call stack. But each
coroutine introduces another C++ call stack!

Move the initializing stack from function-static storage to
LLSingletonBase::MasterList. Make it a map keyed by llcoro::id. Each coro then
has a stack of its own.

This introduces more dependencies on the MasterList singleton, requiring
additional LLSingleton_manage_master workarounds.
2016-09-06 21:07:38 -04:00