summaryrefslogtreecommitdiff
path: root/indra/newview/llchathistory.cpp
AgeCommit message (Collapse)Author
2022-12-12Merge branch 'main' into DRTVWR-570-maint-QAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/app_settings/shaders/class1/deferred/materialF.glsl # indra/newview/llfloater360capture.cpp
2022-10-19Fix trivial memory leaks in note card processing, chat history, and task ↵Rye Mutt
inventory
2022-10-19Defer chat history menu creation to right click time to reduce heavy menu ↵Rye Mutt
bloat and fix chat history menu hoarding
2022-09-15Merge branch 'master' into DRTVWR-565-maint-PAndrey Lihatskiy
2022-09-06SL-3007 Small improvements for auto filling abuse reports #2Andrey Kleshchev
2022-08-17SL-17973 FIXED region name is not shown in the IM chatMnikolenko Productengine
2022-06-29Merge branch 'master' into DRTVWR-544-maintAndrey Lihatskiy
2022-05-31Merge branch 'master' into DRTVWR-544-maintAndrey Lihatskiy
# Conflicts: # indra/llprimitive/llmodel.cpp # indra/llprimitive/llmodel.h # indra/newview/llappviewer.cpp # indra/newview/llappviewer.h
2022-05-27Merge branch 'master' into DRTVWR-543-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/cmake/LLCommon.cmake # indra/llcommon/CMakeLists.txt # indra/llrender/llgl.cpp # indra/newview/llappviewer.cpp # indra/newview/llface.cpp # indra/newview/llflexibleobject.cpp # indra/newview/llvovolume.cpp
2022-05-17SL-3007 Small improvements for auto filling abuse reportsAndrey Kleshchev
2022-03-21SL-17040 Crash when looking for a region by handle or positionAndrey Kleshchev
Might be a better idea to turn LLWorld back into an LLSingleton. Too many things to track.
2022-01-25SL-3007 mac build fixAndrey Kleshchev
2022-01-24SL-3007 Ability to report abuse from chatAndrey Kleshchev
2021-08-25SL-15881 Crash at setCommitCallbackAndrey Kleshchev
2021-02-04SL-14796 Updated code accordingly to changed event orderAndrey Kleshchev
2021-02-03SL-14796 After teleporting, add notation into Nearby ChatAndrey Kleshchev
2020-08-18Merge branch 'master' into DRTVWR-507-maintAndrey Lihatskiy
2020-07-21Merge branch 'master' into DRTVWR-507-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml
2020-07-20Merge branch 'master' into DRTVWR-501-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/newview/llimprocessing.cpp
2020-05-18Small CleanupAndrey Kleshchev
2020-03-25DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.Nat Goodspeed
The previous implementation went to some effort to crash if anyone attempted to create or destroy an LLInstanceTracker subclass instance during traversal. That restriction is manageable within a single thread, but becomes unworkable if it's possible that a given subclass might be used on more than one thread. Remove LLInstanceTracker::instance_iter, beginInstances(), endInstances(), also key_iter, beginKeys() and endKeys(). Instead, introduce key_snapshot() and instance_snapshot(), the only means of iterating over LLInstanceTracker instances. (These are intended to resemble functions, but in fact the current implementation simply presents the classes.) Iterating over a captured snapshot defends against container modifications during traversal. The term 'snapshot' reminds the coder that a new instance created during traversal will not be considered. To defend against instance deletion during traversal, a snapshot stores std::weak_ptrs which it lazily dereferences, skipping on the fly any that have expired. Dereferencing instance_snapshot::iterator gets you a reference rather than a pointer. Because some use cases want to delete all existing instances, add an instance_snapshot::deleteAll() method that extracts the pointer. Those cases used to require explicitly copying instance pointers into a separate container; instance_snapshot() now takes care of that. It remains the caller's responsibility to ensure that all instances of that LLInstanceTracker subclass were allocated on the heap. Replace unkeyed static LLInstanceTracker::getInstance(T*) -- which returned nullptr if that instance had been destroyed -- with new getWeak() method returning std::weak_ptr<T>. Caller must detect expiration of that weak_ptr. Adjust tests accordingly. Use of std::weak_ptr to detect expired instances requires engaging std::shared_ptr in the constructor. We now store shared_ptrs in the static containers (std::map for keyed, std::set for unkeyed). Make LLInstanceTrackerBase a template parameterized on the type of the static data it manages. For that reason, hoist static data class declarations out of the class definitions to an LLInstanceTrackerStuff namespace. Remove the static atomic sIterationNestDepth and its methods incrementDepth(), decrementDepth() and getDepth(), since they were used only to forbid creation and destruction during traversal. Add a std::mutex to static data. Introduce an internal LockStatic class that locks the mutex while providing a pointer to static data, making that the only way to access the static data. The LLINSTANCETRACKER_DTOR_NOEXCEPT macro goes away because we no longer expect ~LLInstanceTracker() to throw an exception in test programs. That affects LLTrace::StatBase as well as LLInstanceTracker itself. Adapt consumers to the new LLInstanceTracker API.
2019-11-18SL-12305 More missing-file handlingandreykproductengine
instance().getCurFileName() was returning empty value despite supposedly non-empty filename
2018-06-08MAINT-8742 Crashes at draw and getHandleandreykproductengine
2018-04-17MAINT-8498 Fixed item offers not appearing after friednship offerAndrey Kleshchev
2017-07-24MAINT-7629 FIXED Crash in LLSpeakerMgr::findSpeaker(LLUUID const &)Mnikolenko ProductEngine
2017-05-17MAINT-6805 Fixed Right-click menus in the right and left panes of the ↵andreykproductengine
Conversations windows are different
2017-02-15MAINT-7118 Swapping legacy people API with new cacheandreykproductengine
2016-05-18MAINT-2129 "Block" button doesn't become disabledandreykproductengine
2016-05-19Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-04-20MAINT-2129 "Block" button doesn't become disabled in remote object inspector ↵andreykproductengine
after object has been added to block list
2016-01-15merge changes for 4.0.1-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-10-15MAINT-925 FIXED Objects called "Second Life" are unclickable & unmuteable ↵Mnikolenko ProductEngine
via local chat
2015-06-11MAINT-14 FIXED Region message logged into nearby chat log has duplicated ↵Mnikolenko ProductEngine
sender name
2015-06-08MAINT-14 FIXED Treat region message like a system message, but also show ↵Mnikolenko ProductEngine
sender name.
2015-03-31MAINT-5020 FIXED Determine the need to use bracket via chat source.Mnikolenko ProductEngine
2014-10-27MAINT-4597 FIXED Show emoted name according to name settings in preferences.Mnikolenko ProductEngine
2014-05-02MAINT-4009: Patching the memory leak occurring from the info icons that ↵Stinson Linden
appear when hovering over a chat history item.
2014-03-12merge with releaseRichard Linden
2014-01-10Revert earlier back-out for MAINT-535 ... it's back insimon
2014-01-07Revert changes made for MAINT-535 to test in a release cohort.simon
2013-12-02merge with releaseRichard Linden
2013-11-25Merge - doh!simon
2013-11-12MAINT-3068 FIXED "Request Teleport" menu item is added to context menu.Mnikolenko ProductEngine
2013-11-11Automated merge with http://bitbucket.org/lindenlab/viewer-releaseRichard Linden
2013-11-11Merge 3.6.11 for RC-abilityGraham Linden
2013-10-25Fix release merge issues (included upstream changes not yet in release from ↵Graham Linden
bear)
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-10-08merge from viewer-releaseRichard Linden
2013-09-09merge with viewer-releaseRichard Linden