diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2023-01-03 18:06:45 -0500 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2023-05-03 12:31:42 -0400 |
commit | 3c77c1b90f0496669d17286fff736b5e714db379 (patch) | |
tree | 15d9a61292dbddd503e97eb81163cab56c3bcb3f /indra/llcommon | |
parent | 7ed52090a67882cd0bc904f1e0a9ce07cf6768e9 (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!
(cherry picked from commit bb718155bddfbe7007029a0c9e69a4a98615f14d)
Diffstat (limited to 'indra/llcommon')
0 files changed, 0 insertions, 0 deletions