Commit Graph

25 Commits (d4e9604700a1dbae3dbce58a3be0fda1465fd39c)

Author SHA1 Message Date
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Andrey Lihatskiy faf69f407f Merge branch 'main' into marchcat/yz-merge
# Conflicts:
#	indra/newview/llinventorygallery.cpp
2024-03-01 18:02:48 +02:00
AiraYumi 7c8907522f replace boost library to standard 2024-01-08 23:29:21 +02:00
Callum Prentice 547c0665ea DRTVWR-489-emoji: As part of the work to get macOS version of the Viewer working, the flag was introduced to warn (and therefore error out) when a virtual override was not marked with the 'override' keyword. Fixing this up involved a large number of changes and this commit represents just those changes - nothing specially from the DRTVWR-489 viewer
(Cherry pick of 3 commits from Callum to declutter the emoji PR: 3185bdea27,
923733e591 and 6f31fabbc2)
2023-02-14 17:01:22 +01:00
Andrey Kleshchev 4ebba5b918 SL-13891 Coroutine creation was requested on exit 2020-09-02 17:10:24 +03:00
Mnikolenko Productengine 5e926ece20 MAINT-7245 Use Experience Box in LSL Editor will not show as checked if containing object is in another region 2017-03-30 16:30:01 +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
Rider Linden a471ae72e4 Experience Profile to coroutines and Experience cache. 2015-09-04 13:13:16 -07:00
Rider Linden ec998b4c6e Region experience allow/disallow. 2015-09-03 16:14:40 -07:00
Rider Linden c08072a050 Moved group experiences into experience cache. Use coros and new HTTP libs. 2015-09-03 11:10:32 -07:00
Rider Linden 346f885473 Moved find experience into experience cache (moved cache recording into cache and out of UI) changed from responder to coroutine. 2015-09-02 15:16:37 -07:00
Rider Linden 6c9610b4e4 Move associated experience fetching into the ExperienceCache as a coro remove the responder. 2015-09-02 11:50:26 -07:00
Rider Linden 96e343b49b MAINT-5575: Convert the Experience cache into a coro based singleton.
--HG--
branch : MAINT-5575
2015-09-01 16:13:52 -07:00
Rider Linden 4b3269c94d Some initial changes to convert the experience cache to a singleton
--HG--
branch : MAINT-5575
2015-08-31 07:27:13 -07:00
Rider Linden 99e56eedab MAINT-5575: Begin conversion to Singleton<> for Experience Cache. Commited on branch so that I don't trigger a build of it until I'm ready.
--HG--
branch : MAINT-5575
2015-08-28 16:55:33 -07:00
dolphin 74dcc04e69 Updated experience cache to get a const reference to xp data 2014-03-17 15:57:15 -07:00
dolphin a0b8c3e029 Windows lets you erase with a const iterator but linux does not. 2014-03-12 11:49:17 -07:00
dolphin 257110c11e Added new fields to the experience cache.
Experience profile moved to it's own floater, will probalby be moving again.
XP profile displays most data, though the presentation is not final
Fixed a bug with the XP selection combobox in the script editor
2013-08-21 15:43:09 -07:00
dolphin 4bdecca57e Removed outdated experience property flags 2013-04-02 15:02:23 -07:00
dolphin d5308c19f7 Fixed up expiration code for the experience cache 2013-03-13 10:24:30 -07:00
dolphin 61874872a7 Updated experience cache to latest web service api
Added new CAP request for experiences the avatar can sign
2013-02-13 14:20:35 -08:00
dolphin 179e944f45 Updated client to use new caps
brought over server changes to llExperienceCache
2012-12-18 16:06:00 -08:00
dolphin@dolphin-THINK.lindenlab.com 2566e0d08f Added code for simulator integration.
Added signals for cache update callbacks.
Added expiration timers for cached experiences.
2012-11-26 08:42:23 -08:00
dolphin@dolphin-THINK.lindenlab.com 2cde962d5d Test populating the experience keys UI with avatar name data. 2012-11-19 08:06:42 -08:00
dolphin@dolphin-THINK.lindenlab.com 723ab8b108 Merge 2012-11-14 14:12:25 -08:00