Commit Graph

265 Commits (8a13530ce4eeb481ee467fd3ec54f1ed7e9f632a)

Author SHA1 Message Date
Anchor Linden 56fc3222dc [DRTVWR-476] - create new wearable type 2018-06-08 20:36:49 +05:30
Rider Linden 880be86cf2 MAINT-7196: Viewer changes supporting new Allow Access Override opition for estate owners. 2017-03-10 15:07:55 -08: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
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04: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
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
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
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
dolphin 155399cb71 parcel experience lists can be manipulated through the ParcelAccessListUpdate
message
2014-05-01 13:56:45 -07:00
andreykproductengine b1cffda8f3 MAINT-2361 FIXED One and the same user shown in Allowed and in Banned Residents lists 2014-04-23 19:47:19 +03:00
Xiaohong Bao ae564140c0 Merge 2014-04-22 12:19:28 -06:00
Brad Payne (Vir Linden) 744cf6be8d merge 2013-12-05 10:39:35 -05:00
Richard Linden 17e9c872ad Automated merge with http://bitbucket.org/lindenlab/viewer-release 2013-11-11 19:17:49 -08:00
Richard Linden 697d2e720b renamed TimeBlock to BlockTimerStatHandle 2013-10-15 20:24:42 -07:00
Richard Linden 12f0f8cb72 changed over to manual naming of MemTrackable stats
changed claimMem and disclaimMem behavior to not pass through argument
added more mem tracking stats to floater_stats
2013-10-01 13:46:43 -07:00
Richard Linden cbe397ad13 changed fast timer over to using macro
another attempt to move mem stat into base class
2013-09-05 14:04:13 -07:00
simon_linden edf2b52cb2 MAINT-3082 : Remove unused viewer LLParcel code 2013-09-03 17:18:59 -07:00
Richard Linden 9f7bfa1c37 moved unit types out of LLUnits namespace, since they are prefixed 2013-08-15 00:02:23 -07:00
Richard Linden 26581404e4 BUILDFIX: added header for numeric_limits support on gcc
added convenience types for units F32Seconds, etc.
2013-08-14 11:51:49 -07:00
Richard Linden cc31b4ae79 SH-4399 FIX: Interesting: Texture console MB Bound 0/384 and texture queue bounces once per second
SH-4346 FIX: Interesting: some integer Statistics are displayed as floating point after crossing region boundary
made llerrs/infos/etc properly variadic wrt tags
LL_INFOS("A", "B", "C") works, for example
fixed unit tests
remove llsimplestat
2013-08-12 20:05:16 -07: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
Don Kjer 3ed3b88892 Refactoring link creation calls in preparation for adding AIS v3 hook. 2013-08-09 13:36:36 -07:00
simon d27fc4ad33 MAINT-2257 : Create ability to limit region/estate and parcel access by
either Piof or Group membership (viewer changes).   Using Mnikolenko's patch
2013-08-07 15:56:29 -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
Brad Payne (Vir Linden) 6d46132ef5 SH-4216 WIP - finished item/cat update and reorg of aisv3 code 2013-06-10 16:29:10 -04:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00