diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2023-01-03 18:06:45 -0500 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2023-01-03 18:06:45 -0500 |
commit | bb718155bddfbe7007029a0c9e69a4a98615f14d (patch) | |
tree | d5831c04543aa7de72ca805ac1d46564735cda78 /indra/llcommon/lltraceaccumulators.h | |
parent | 7d9249d180f7bc228cad3d6f5ed4d5fb13296451 (diff) |
DRTVWR-575: Replace some LLSDArray() usage with llsd::array().
It seems newer compilers have a different interpretation of exactly when to
engage LLSDArray's copy constructor. In particular, this assignment:
some_LLSD_map[key] = LLSDArray(...)(...)...;
used to convert the LLSDArray object directly to LLSD; now it first calls the
custom copy constructor, which embeds the intended array within an outer array
before assigning it into the containing map.
The newer llsd::array() function avoids that problem because what it returns
is already an LLSD object.
Taking inventory of LLSDArray assignments of that form turned up a number of
workarounds like LLSD(LLSDArray(...)). Replacing those with llsd::array() is
both simpler and more readable.
Tip of the hat to Chorazinallen for surfacing this issue!
Diffstat (limited to 'indra/llcommon/lltraceaccumulators.h')
0 files changed, 0 insertions, 0 deletions