Commit 742f556
authored
When copying the body of a revision from a RevTree-based doc,
VectorRecord creates `Doc`s on the `body` and `extra` so that all
Fleece operations will work.
Unfortunately there are some rare cases where the body of a `Rev`
isn't in `body` or `extra` but was copied out; this only happens
as a workaround for an old (2.0) bug where the Fleece data might be
at an odd address.
In those situations, the attempt to create a mutable copy of the
Dict failed because it can't be retained and its SharedKeys can't be
located.
Worked around this by detecting the situation, and when it occurs,
creating a Doc for the data.
1 parent d193baa commit 742f556
1 file changed
+10
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
219 | | - | |
220 | | - | |
221 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
222 | 229 | | |
223 | 230 | | |
224 | 231 | | |
| |||
0 commit comments