Commit Graph

106 Commits (7a845ee23b9f49cc8818155697f6b86df133d721)

Author SHA1 Message Date
Ansariel 7f91fa0b40 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-05-02 13:15:10 +02:00
Ansariel 065bde8514 Fix muted avatars without lastname being able to send group invites 2021-04-20 20:26:53 +02:00
Ansariel 339c3c5df4 Merge branch 'DRTVWR-522-maint' of https://bitbucket.org/lindenlab/viewer 2021-01-18 18:55:37 +01:00
Mnikolenko Productengine 03921adb12 SL-2202 Add exception handling around boost::regex_match() calls in the viewer 2021-01-11 17:07:03 +02:00
Ansariel aa0706abc4 FIRE-9115: Send autorespond messages also when receiving TP offers/requests (but deliberately do not send autorespond inventory items in this case) 2020-10-27 14:49:40 +01:00
Ansariel 2ee77678a7 FIRE-29677 / SL-13720: Work around broken IM_GROUP_NOTICE_REQUESTED instant message type until this might get fixed by LL at some point - maybe... 2020-10-25 23:41:41 +01:00
Ansariel d0fb2a173d Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2020-09-20 19:50:03 +02:00
Kitty Barnett cddc7cb040 Merge branch 'rlva/development' 2020-09-19 13:31:34 +02:00
Kitty Barnett aebcd1855d Change RLVa string constants over to opt-in constexpr string_views (but keep char* by default) 2020-09-16 01:35:44 +02:00
Kitty Barnett 9b03257a1e Merge branch 'appearance/misc' into rlva/feature/eep 2020-09-14 15:26:13 +02:00
Ansariel d5dd2c8aeb Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-501 2020-08-11 19:52:44 +02:00
Andrey Lihatskiy 9406b757a3 Merge branch 'DRTVWR-501-maint' into DRTVWR-503-maint
# Conflicts:
#	indra/cmake/DirectX.cmake
#	indra/newview/llviewerparcelmedia.cpp
#	indra/newview/viewer_manifest.py
2020-08-11 01:34:13 +03:00
Kitty Barnett a46ebe6436 Merge branch 'appearance/misc' into rlva/development 2020-08-02 20:07:43 +02:00
Ansariel 0f4933e2fc FIRE-29943: Fix item shared messaged logging to wrong IM logfile if user is offline 2020-07-31 14:03:04 +02:00
Ansariel 67255f5d64 Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-501 2020-07-29 13:23:00 +02:00
Ansariel a01747f446 FIRE-24171: Ignore group chats on startup until mute list is loaded to prevent showing unwanted group chats 2020-07-26 21:16:58 +02:00
Andrey Lihatskiy 7bbf3f5f7f Merge branch 'master' into DRTVWR-501-maint
# Conflicts:
#	autobuild.xml
#	indra/newview/llimprocessing.cpp
2020-07-20 22:24:10 +03:00
Nicky Dasmijn f116ea4cb7 Merge remote-tracking branch 'fs/master' into fs-vs2017-d476
(Note: This removed our changed dullahan, but that's okay as it is
vs2013)
2020-07-20 09:58:30 +02:00
Ansariel 3884e4b6dd Merge offline IM fixes 2020-07-19 17:42:28 +02:00
Andrey Lihatskiy 4ac0ab2af3 Merge branch 'DRTVWR-501-maint' into DRTVWR-503-maint 2020-07-06 21:48:11 +03:00
Andrey Kleshchev fa1ae9fa1a SL-13540 Fix line endings 2020-07-06 13:47:24 +03:00
Nat Goodspeed 5ab0ff486b DRTVWR-476, SL-11430: Merge branch 'SL-9756' into d476 2020-07-02 13:24:29 -04:00
Andrey Kleshchev bf5585c0ec SL-13540 Offline scripted inventory offers not shown on non drtsim-451 2020-07-02 19:05:12 +03:00
Rider Linden 766b21a0a6 SL-13533: Use the old name for from_agent_name
SL-13540: Do not fail if binary bucket is too large, attempt to extract the asset type from the old style bucket. Notification still not shown.
2020-07-02 19:05:12 +03:00
Andrey Kleshchev 7c122757f9 SL-13540 Offline scripted inventory offers not shown on non drtsim-451 2020-07-02 19:00:23 +03:00
Rider Linden 3379259ffb SL-13533: Use the old name for from_agent_name
SL-13540: Do not fail if binary bucket is too large, attempt to extract the asset type from the old style bucket. Notification still not shown.
2020-07-02 19:00:23 +03:00
Nat Goodspeed a075a73920 DRTVWR-476: Merge branch 'SL-9756' into d476. 2020-06-30 16:59:17 -04:00
Rider Linden 01f2308c85 SL-9756: Get the LLSD names right. 2020-06-30 23:13:05 +03:00
Rider Linden f72759c16d SL-9756: IM_TASK_INVENTORY_OFFERED bucket offline format conforms to the online format. 2020-06-30 23:13:05 +03:00
Rider Linden f8e53adce7 SL-9756: Get session_id/transaction id from aux if session is missing. 2020-06-30 23:13:04 +03:00
Rider Linden c8b7466c19 SL-11430, SL-9756: Take transaction-id from offline messages. Correct LLSD names. Use offline flag rather than implicit tests of session_id and aux_id. 2020-06-30 23:13:04 +03:00
Rider Linden e2dd15397c SL-9756: Take the "session_id" from the offline message that was passed. 2020-06-30 23:13:04 +03:00
Rider Linden 52f888b8d3 SL-9756: Get the LLSD names right. 2020-06-30 02:38:53 +03:00
Rider Linden 8bf2078e90 SL-9756: IM_TASK_INVENTORY_OFFERED bucket offline format conforms to the online format. 2020-06-30 02:38:53 +03:00
Rider Linden 5f9a18c88f SL-9756: Get session_id/transaction id from aux if session is missing. 2020-06-30 02:38:53 +03:00
Rider Linden 9887af162b SL-11430, SL-9756: Take transaction-id from offline messages. Correct LLSD names. Use offline flag rather than implicit tests of session_id and aux_id. 2020-06-30 02:38:53 +03:00
Rider Linden 25e6dc4adb SL-9756: Take the "session_id" from the offline message that was passed. 2020-06-30 02:38:53 +03:00
Ansariel a72e1418ad Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-501 2020-06-24 12:12:46 +02:00
Kitty Barnett b0e3bb9184 Merge branch 'viewer/build' into rlva/development 2020-06-11 17:48:32 +02:00
Kitty Barnett a6e18a4450 Merge with RLVa (v2.2.1)
-> Should be as close to a null-merge as we can get
  -> Some commits were cherry picked in on the FS master branch
2020-06-10 23:16:58 +02:00
Nat Goodspeed ca6f092929 DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72 2020-05-06 16:06:26 -04:00
Ansariel 6afd505fa8 Merge branch 'DRTVWR-503-maint' of https://bitbucket.org/lindenlab/viewer 2020-05-05 15:24:10 +02:00
Nicky Dasmijn a4aff377e6 Merge branch 'master' into fs-vs2017 2020-04-29 20:02:19 +02:00
Ansariel 6733ae0a95 Sync offline inventory offer from task with upstream - apparently this change got lost at some point 2020-04-28 15:30:46 +02:00
Nat Goodspeed 9d5b897600 DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.
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.
2020-03-25 15:28:17 -04:00
Kitty Barnett 57feec9763 Merge branch 'viewer/build' of rlva/development 2020-03-21 11:26:59 +01:00
Mnikolenko Productengine 6c41ea62ce SL-12871 'Only Friends and Groups can call or IM me' setting should be account based. 2020-03-19 16:14:02 +02:00
Andrey Lihatskiy a52ef7ad60 Merge branch 'DRTVWR-499' into DRTVWR-500 2020-02-03 15:13:37 +02:00
Ansariel 4595476154 Merge DRTVWR-499 2020-01-31 08:42:19 +01:00
andreykproductengine a8437a7636 potential crashfix 2020-01-29 18:02:41 +02:00