summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2016-09-15MAINT-5232: Normalize LLSingleton subclasses.Nat Goodspeed
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-08-31MAINT-5232: Add LLSingletonBase::cleanupAll() and deleteAll() callsNat Goodspeed
near the end of LLAppViewer::cleanup() so every LLSingleton class that hasn't already been explicitly cleaned up gets a chance to perform its own cleanup.
2016-08-31MAINT-5232: LLMetricPerformanceTesterBasic::cleanClass->cleanupClassNat Goodspeed
for consistency with everything else, so we can use SUBSYSTEM_CLEANUP() macro to call it.
2016-08-30MAINT-5232: LLGlobalEconomy is now an LLSingleton.Nat Goodspeed
It used to contain an LLSingleton called Singleton, requiring LLGlobalEconomy::Singleton::instance() to access it rather than the conventional LLGlobalEconomy::instance(). This has been fixed, so normalize references accordingly.
2016-08-30MAINT-5232: Change getIfExists() call to instanceExists().Nat Goodspeed
LLSingleton::getIfExists() has been eliminated. The only remaining way to detect whether a given LLSingleton has been instantiated is to call instanceExists(). But the relevant cleanup code should be refactored to cleanupSingleton() anyway, which would make this specific call moot.
2016-08-30MAINT-5232: Remove unreferenced mInFlightCounter.Nat Goodspeed
This fixes fatal warnings.
2016-08-30Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-08-11increment viewer version to 4.0.8Oz Linden
2016-08-01MAINT-6460 getMeshSize crashandreykproductengine
2016-08-01MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-08-01Backed out changeset: c21a7e6d9796andreykproductengine
2016-07-25MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-07-14merge changes for STORM-2133Oz Linden
2016-07-14MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-07-14STORM-2133: VOICE-36 prevents proper shutdown of connectorAnsariel
2016-07-12MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-07-12MergeRider Linden
2016-07-12STORM-2132: Remove obsoleted unique_ptr.hpp, use make_shared for pointer ↵Rider Linden
allocation.
2016-07-11MAINT-6565: Grab a shared pointer and encapsulate it into the bind call in ↵Rider Linden
place of this. Ensures that the impl is not deleted while the coroutine is active.
2016-07-11MAINT-6534 Resetting scripts via the build menu no longer works on many ↵andreykproductengine
scripted objects
2016-07-08MAINT-6448 PERMISSION_DEBIT notification should default to Denyandreykproductengine
2016-07-08MAINT-6534 Fixed the LLSD validation failureAndreyL ProductEngine
2016-07-07Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-07-06increment viewer version to 4.0.7Oz Linden
2016-06-02MAINT-6448 PERMISSION_DEBIT notification should default to Denyandreykproductengine
2016-06-30MAINT-6534 Resetting scripts fails due to small timeoutandreykproductengine
2016-06-15MAINT-6486: Use literal string. Don't try and look it up.Rider Linden
2016-06-15MAINT-6460 additional header checkandreykproductengine
2016-06-13Merged in rider_linden/viewer-lynx (pull request #26)Andrey Lihatskiy
2016-06-13Merge MAINT-6486Rider Linden
2016-06-10Make string ref in HandleScriptUserData constRider Linden
2016-06-10MAINT-6486: Be sure that all the script queue functions hit all objects and ↵Rider Linden
scripts in those objects. Convert from responders and callbacks to coroutines.
2016-06-01MAINT-6446 Correct password length handlingandreykproductengine
2016-06-03MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-05-31MAINT-2129 One more Block buttonandreykproductengine
2016-05-27MAINT-6435 Deafult preset should set the same settings as the "Reset to ↵AndreyL ProductEngine
recommended settings" button
2016-05-24MergeRider Linden
2016-05-24MAINT-6403: Updated a couple comments and dropped a couple warning levels ↵Rider Linden
back down to DEBUG.
2016-05-24MAINT-6216 avatars are sometimes invisibleruslantproductengine
BUG-10330 Sitting avatars are sometimes invisible
2016-05-25MAINT-6413 BuildfixAndreyL ProductEngine
2016-05-25MAINT-6424 Reverted disabling of the "Delete preset" buttonAndreyL ProductEngine
2016-05-25Merged in rider_linden/viewer-lynx (pull request #18)Andrey Lihatskiy
MAINT-6403: Correct the local COF version from AIS when it loses sync.
2016-05-25Merged in lindenlab/viewer-lynx-maint-6413 (pull request #16)Andrey Lihatskiy
2016-05-24merge from maint-6413 into lynx for pull requestGlenn Glazer
2016-05-24MAINT-6413: write summary.json from viewer_manifest.py, remove facility from ↵Glenn Glazer
cmake
2016-05-23MAINT-6403: in the case of a version mismatch between the viewer's local ↵Rider Linden
accounting and the AIS reported. Override with the AIS version. simplify the appearance update code to account for new versioning. Fix spelling of descendant
2016-05-23debug version argsGlenn Glazer
2016-05-23backout 354346 / e63c00cf654a and 354347 / e4bfe3ee05a6Glenn Glazer
2016-05-23backout 354345Glenn Glazer
2016-05-23Merged in andreyl_productengine/viewer-lion-marchcat (pull request #42)Andrey Lihatskiy
MAINT-6424 Disable the delete button for empty graphics presets list