summaryrefslogtreecommitdiff
path: root/indra/newview/llspeakers.h
AgeCommit message (Collapse)Author
2017-02-15MAINT-7118 Swapping legacy people API with new cacheandreykproductengine
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-04-04merge with 4.0.3-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-07-10Backed out changeset bab1000e1b2d: restore 'selfless' changesNat Goodspeed
2015-07-07Backout selfles merge 738255dbbfd679d9e615baab3398e5e345bbb3c5Rider Linden
2015-07-01MAINT-5351: Remove 'self' parameter from coroutine functions.Nat Goodspeed
lleventcoro_test.cpp runs clean (as modified for new API), and all the rest builds clean, but the resulting viewer is as yet untested.
2015-05-29Set media viewer mime probe to follow redirection.Rider Linden
Coroutines for group moderation.
2014-10-24MAINT-4614 - fix viewer warning about bad membership list updatesimon
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-11CHUI-793 : Fixed! Introduced ChatLoadGroupTimeout and ↵merov
ChatLoadGroupMaxMembers to mitigate slow group loading.
2013-01-23CHUI-480 : Fixed : Flagged when local update is made and prevent doing it ↵Merov Linden
multiple times, allow group to graw by 1 (me) then the rest (prevent having group remaining hidden).
2012-11-15CHUI-397 (Delay in removing names from participant list in nearby chat)MaximB ProductEngine
CHUI-440 (Nearby chat participant list does not clear after teleport when conversation floater is closed/minimized) fixed
2012-10-17CHUI-422 : Update the ad-hoc conversation with the known list of on line ↵Merov Linden
agents without waiting for server message (which often doesn't come...).
2012-10-17MAINT-1551 : WIP : More tests to elicit a correct answer from the backbone ↵Merov Linden
server
2012-10-15MAINT-1551 : WIP : Added a hack : send an accept invitation message so to ↵Merov Linden
trigger the sending of the agent list.
2012-09-19CHUI-340 : WIP : Update time stamp for IM and voice utteranceMerov Linden
2012-05-09Removed a recursive include declarationAlexanderP ProductEngine
2012-01-26EXP-1839 WIP Added some debugging messages.Vadim ProductEngine
2010-09-03Post-convert merge by convert_monolith.py from ↵Aimee Linden
/Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-06-01Merge with dessie/viewer-public in prep to land code thereJames Cook
2010-05-27EXT-6937 FIXED Implemented initializing of moderate_mode on first join voice ↵Mike Antipov
chat. This is a workaround until a way to request the current voice channel moderation mode is implemented in the viewer. Details: * Added method to initialize Speaker manager's Voice moderate_mode once Agent's participant state is known. * Once agent's voice participant is updated this method is called. * This method initializes Voice moderate_mode only once. This is necessary to process "Mute everyone" menu item calls properly. Also renamed moderateVoiceOtherParticipants methods with moderateVoiceAllParticipants and related staff. Reviewed by Aimee Walton at https://codereview.productengine.com/secondlife/r/448/ --HG-- branch : product-engine
2010-05-26Merge with dessie/viewer-public to get Callum's webkit changesJames Cook
2010-05-25EXT-6937 PARTIAL FIXED Enable a possibility to "mute everyone" in case group ↵Mike Antipov
chat is already in "moderate_mode" state. Partial fix (until restart moderator's viewer) * store "moderate_mode" session state * if session is already in requested state participants un/mute individually. Known Issue: "moderate_mode" session state is set to false on startup. Thus if moderator join voice chat with disabled voice it has incorrect state. In this case when he sends "Mute everyone" request first time it has effect only to himself. Other unmuted participants are not muted. Next "Mute everyone" request works properly: one request per participant is sent. Reviewed by Aimee Walton at https://codereview.productengine.com/secondlife/r/423/ --HG-- branch : product-engine
2010-05-11merge from dessie/viewer-public right before SLE code landedJames Cook
2010-04-14Fixed normal bug EXT-4301 (PDD: Dial-in to a PSTN bridge shows "(???) ↵Mike Antipov
(???)" for the name.) * Implementation notes: ** special item is cloned from VCP to be used in LLAvatarList to reflect an Avaline caller. ** LLAvatarList extended to create instances of Avaline Caller ** Participant list now determines type of adding session participant (Avatar/Avaline Caller) and selects a way item will be created in avatar list * Implementation behavior: ** The problem is when Avaline caller ends a call it is removed from Voice Client session but still exists in LLSpeakerMgr. Server does not send such information. HUCK was implemented to notify subscribers that Avaline callers are not anymore in the voice call. ** For now Avaline Caller is removed from the LLSpeakerMgr List when it is removed from the Voice Client session. This happens in two cases: if Avaline Caller ends call itself or if Resident ends group call. ** If Resident joins group call where Avaline caller already exists that caller will appear in Resident's viewer (VCP & Group IM window) ** The callers are displayed as "AvaLine Caller 1", "AvaLine Caller 2" etc. * Known issues: ** LLNonAvatarCaller should be removed from VCP (for avaline p2p calls). Updated Avatar & Participant Lists can be used instead of it. Separate ticket will be opened to refactor this code. --HG-- branch : product-engine
2010-02-11MergeJames Cook
2010-02-06Update the rest of the LLEventTimer users to #include lleventtimer.h. I think.Tofu Linden
2010-02-05EXT-4754 Fix for LLEventTimer::updateClass crash.Mark Palange (Mani)
Ugh. Update on Tofu's patch for this bug. Reviewed by Richard
2010-02-04EXT-4754 Crash in LLEventTimer::updateClassTofu Linden
2010-02-01Support returning full_name (and SLID) for LLCacheName::get() callsJames Cook
Changed callback signature to full_name instead of first_name,last_name Eliminated all calls to legacy (non-signal/non-boost-bind) lookup mechanism Change Pay dialog names to SLURL links Tweaked layout of Pay Resident and Pay via Object floaters to make SLURLs fit Consolidate name first + " " + last concatenation in LLCacheName::buildFullName() Reviewed with Kelly
2010-01-22Work on normal task EXT-2214 Refactor IM Control PanelsMike Antipov
-- replaced functionality to remove speacker from the list via Event timer. -- removed calling of LLSpeakerMgr::update from LLPanelGroupControlPanel::draw() (group text chat) For now list is updated when it is need. --HG-- branch : product-engine
2010-01-06Fixed normal bug EXT-3944 ('Error while moderating' dialog after disabling ↵Mike Antipov
voice for non-connected participant avatar from miniinspector) - improved condition to check if avatar can be moderated. - if not moderation panel (with "Disable Voice" button) is not shown at all. --HG-- branch : product-engine
2009-12-16rename values to be more descriptiveMike Antipov
--HG-- branch : product-engine
2009-12-16Work on EXT-3431 Implement 'mute/unmute everyone else' moderation in the ↵Mike Antipov
voice control panel -- changed behavior of 'mute/unmute everyone else' action to disable/enable voice chat and allow/disallow selected participant Improvements to have more intellectual processing of several following requests is necessary --HG-- branch : product-engine
2009-12-16Work on EXT-3431 Implement 'mute/unmute everyone else' moderation in the ↵Mike Antipov
voice control panel -- code refactored: moderator actions are moved from UI to IM Speaker Manager (and just called from UI). --HG-- branch : product-engine
2009-11-06Fixed low bug EXT-2109 (Add moderator label if user is a moderator of a ↵Eugene Mutavchi
group chat(See old communication floater)) --HG-- branch : product-engine
2009-10-28IM refactoring: moved speakers management stuff in its own files ↵Igor Borovkov
llspeakers.* from dying llfloateractivespeakers. * Decresed number of llfloateractivespeakers.h includes to a minimum. --HG-- branch : product-engine