summaryrefslogtreecommitdiff
path: root/indra/llui
AgeCommit message (Collapse)Author
2016-10-13MAINT-5232: Use LLHeteroMap for LLUICtrlFactory::ParamDefaults objsNat Goodspeed
instead of making every ParamDefaults specialization an LLSingleton in its own right.
2016-10-11MAINT-5232: Merge up to VLC viewer from viewer-releaseNat Goodspeed
2016-10-11Merged in lindenlab/viewer-bearAndreyL ProductEngine
2016-10-10Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-09-26MAINT-4950 Appearance panel performance improvements.andreykproductengine
2016-09-30MAINT-6783 Xml parser warnings should show the file nameMnikolenko Productengine
2016-09-23MAINT-6747 eliminating convertion errorandreykproductengine
2016-09-16MergeRider Linden
2016-09-16Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
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-09-15Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-09-13MAINT-6726 Fixed LLLineEditor menus staying in memory foreverandreykproductengine
2016-09-12MAINT-6720 Fixed onVisibilityChange() crash in LLTextBaseandreykproductengine
2016-09-02MAINT-6461 crash due to invalid menu pointer during visibility changeandreykproductengine
2016-09-02MAINT-6461 crash due to invalid menu pointer during visibility changeandreykproductengine
2016-08-30Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-08-25MAINT-6511 BuildfixAndreyL ProductEngine
2016-08-23MAINT-6511 Crash in LLFloaterView::restoreAll - exception handlingAndreyL ProductEngine
2016-08-23MAINT-6511 Crash in LLFloaterView::restoreAll - exception handlingAndreyL ProductEngine
2016-08-23MAINT-6648 FIXED [SECURITY] Link tags do not filter unicode and allow for ↵Mnikolenko Productengine
easy URL spoofing.
2016-08-16Merge VOB with 4.0.8-releasepavelkproductengine
2016-08-11merge changes for 4.0.7-releaseOz Linden
2016-08-09Reverted change to lllayoutstack.cpp which could possibly cause memory leakpavelkproductengine
2016-08-10MAINT-6608 FIXED URI parser problem with links with username, passwordMnikolenko Productengine
2016-08-02MAINT-6605 Fix for the crash in LLClipboard::addToClipboard() - Added the ↵AndreyL ProductEngine
exception handling
2016-07-28MAINT-6511 Replaced c-style casts with dynamic_cast in llfloater.cppAndreyL ProductEngine
2016-07-28Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-07-14MAINT-6572 FIXED UI freezes when clicking on a specific folder in the inventoryandreykproductengine
2016-06-22Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-06-17MAINT-6509 Viewer still allows you to create a group with leading spaces in ↵Mnikolenko Productengine
the group name
2016-06-16MAINT-6511 Added a null check in LLFloaterView::restoreAllAndreyL ProductEngine
2016-06-16MAINT-85 Using mouse scroll while renaming item moves it out of My Inventory tabandreykproductengine
2016-06-16Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-06-09MAINT-85 changes should not be lostandreykproductengine
2016-06-08MAINT-85 Using mouse scroll while renaming item moves it out of My Inventory tabandreykproductengine
2016-06-09Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-06-08MAINT-6461 Added a null checkAndreyL ProductEngine
2016-06-01GCC compile fix (function returns a pointer, not a bool).Nicky
2016-06-01MAINT-6446 Correct password length handlingandreykproductengine
2016-05-28Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-05-26linux build fixandreykproductengine
2016-05-25MAINT-6397 cut items should not go to trashandreykproductengine
2016-05-24Merge VOB with release 4.0.6pavelkproductengine
2016-05-25MAINT-2583 Minimized floaters cannot brought back to foreground anymoreMnikolenko Productengine
2016-05-23MAINT-2129 signuls cleanupandreykproductengine
2016-05-18MAINT-2129 "Block" button doesn't become disabledandreykproductengine
2016-05-23MAINT-2583 Minimized floaters cannot brought back to foreground anymoreMnikolenko Productengine
2016-05-19Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-05-10Merged in oz_linden/maint-5974Mnikolenko Productengine
2016-05-06merge 4.0.4-release and MAINT-5974Oz Linden