Commit Graph

310 Commits (9edad026f4494de1a6f02ecc3f477faa27a361ef)

Author SHA1 Message Date
Ansariel ac5817fed1 Make obsolete Merchant Outbox folder deletable 2019-12-18 18:58:00 +01:00
Ansariel b073ffbb52 Merge Firestorm LGPL 2018-09-27 22:45:40 +02:00
Ansariel 1f02cfc1de Merge viewer-neko 2018-08-16 14:51:06 +02:00
maxim_productengine 4dd88ee738 MAINT-8803 Better UI handling of unrecognized inventory items 2018-08-01 17:41:34 +03:00
Ansariel 4aa45cb8e1 Merge viewer-baking-updates 2018-06-16 13:22:49 +02:00
Anchor Linden 56fc3222dc [DRTVWR-476] - create new wearable type 2018-06-08 20:36:49 +05:30
Ansariel dcac0dce59 Merge viewer-bear 2017-05-07 13:11:50 +02:00
Rider Linden 880be86cf2 MAINT-7196: Viewer changes supporting new Allow Access Override opition for estate owners. 2017-03-10 15:07:55 -08:00
Ansariel c182741596 Merge viewer-lynx 2016-11-16 09:55:54 +01: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
Nat Goodspeed c92eb7e591 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-30 11:36:06 -04:00
Ansariel 2797c5938a Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Nicky 35a399864d Merge. 2016-01-13 03:14:44 +01:00
Nicky ebf410523f Move teapot files into llcommon. 2016-01-06 11:50:43 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nat Goodspeed 11c428759e Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2015-11-02 14:09:43 -05:00
Nicky c218e524b2 Merge - Step 1; Still enough to do. 2015-10-26 20:20:13 +01:00
Rider Linden efbbbca9b0 Get unit tests (Integration and project) compiling and linking again. 2015-08-17 10:25:11 -07:00
Oz Linden 67edc1edf5 merge 3.8.0-release and correct xml errors caused by reformatting 2015-07-14 16:01:15 -04:00
Nat Goodspeed 77da469d6f Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2015-06-30 14:50:37 -04:00
Nat Goodspeed 7deca6951f MAINT-5232: Finish 7724e79aaf62: remove LLGlobalEconomy::initSingleton() 2015-06-24 20:57:32 -04:00
Ansariel ebf54d4b2d Merge with Viewer-VMM 2015-07-15 14:23:19 +02:00
Ansariel 4ce6691cf8 Merge viewer-xp_tools 2015-06-25 11:57:17 +02:00
Nat Goodspeed 6a82ff08d9 MAINT-5232: Normalize LLGlobalEconomy's use of LLSingleton.
LLSingleton currently presents two different usage styles: deriving MyClass
from LLSingleton<MyClass>, or just using a typedef. Turns out LLGlobalEconomy
is the ONLY class using the typedef style -- and the apologetic comment talks
about a potential maintenance that hasn't actually happened.
Derive LLGlobalEconomy from LLSingleton<LLGlobalEconomy>, like everyone else.
2015-05-28 16:52:09 -04:00
Merov Linden d631f2fd4d Pull merge from lindenlab/viewer-tools-update (includes viewer-release) 2015-04-14 13:46:01 -07: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
Merov Linden 8952e81775 Merge lindenlab/viewer-tools-update 2015-04-09 16:51:02 -07:00
Oz Linden 8b42c7898e replace llifstream and llofstream with std::ifstream and std::ofstream respectively 2015-04-07 17:59:28 -04:00
Nicky 6c828030a7 Add two more missing va_end. 2015-04-20 14:52:52 +02:00
Ansariel 48fc17d6e1 Merge LL V3.7.16 2015-01-14 17:36:30 +01:00
Ansariel a1fd8230bf Merge LL V3.7.12 2015-01-12 17:56:50 +01:00
Ansariel f4bfb1aadf Merge LL V3.7.9 (AIS3 + SSA) 2014-10-22 02:02:08 +02:00
dolphin f9113c286f Merge 2014-10-09 16:10:00 -07:00
Merov Linden 4b80a5ed05 Pull merge from lindenlab/viewer-release 2014-09-28 21:40:32 -07:00
dolphin 81c342dfa9 Merge with 3.7.13-release 2014-08-06 09:22:43 -07:00
maksymsproductengine 7aca96c241 MAINT-4292 FIXED Make Merchant Outbox Folder not movable (protected) 2014-07-31 20:11:17 +03:00
Merov Linden 87a7eee21d Sync merge with lindenlab/viewer-release 2014-07-22 15:54:53 -07:00
simon d760a6889d Merge downstream code 2014-06-18 19:02:25 -07:00
dolphin 299921de32 Merge with 3.7.9-release 2014-06-17 13:09:15 -07:00
simon 592024b580 Merge viewer-release and become version 3.7.9 2014-06-17 10:40:42 -07:00
Merov Linden 086b2c0448 MAINT-4001 : Make Received Items not movable (protected), consolidate Received Items folders which may have been moved 2014-06-07 16:02:30 -07:00
Merov Linden c780f730fe DD-92 : pull merge lindenlab/sunshine-external to get AISv3 work 2014-05-30 15:29:27 -07:00
Merov Linden 68b62747ed Pull merge from lindenlab/viewer-release 2014-05-30 14:19:53 -07:00
dolphin 4c7b0cb528 ACME-1459: Experience tab added to the about land tab for editing parcel Experiences 2014-05-16 15:52:39 -07:00
Brad Payne (Vir Linden) 487ca1bad3 v-r -> s-e merge WIP 2014-05-14 17:50:59 -04:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
dolphin 48fece4473 Merge with 3.7.7-release 2014-05-07 11:14:26 -07:00
simon a5568f942b Merge downstream version 3.7.8 code 2014-05-07 15:28:13 -07:00