Skip to content

Commit fbe8c3b

Browse files
committed
UnknownSchema: return copy of data
Signed-off-by: Natchar Ratanasirigulchai <natchar.r@outlook.com>
1 parent 1a41646 commit fbe8c3b

3 files changed

Lines changed: 5 additions & 3 deletions

File tree

src/opentimelineio/unknownSchema.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class OTIO_API_TYPE UnknownSchema : public SerializableObject
3939
return _original_schema_version;
4040
}
4141

42+
/// @brief Return a copy of the data.
4243
AnyDictionary data() const noexcept
4344
{
4445
return _data;

src/py-opentimelineio/opentimelineio-bindings/otio_serializableObjects.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,9 @@ define_bases1(py::module m)
302302
m,
303303
"UnknownSchema")
304304
.def_property_readonly("data", [](UnknownSchema* schema) {
305-
auto ptr = schema->data().get_or_create_mutation_stamp();
306-
return (AnyDictionaryProxy*)(ptr); }, py::return_value_policy::take_ownership)
305+
AnyDictionary copy = schema->data();
306+
return any_to_py(copy, true /*top_level*/);
307+
})
307308
.def_property_readonly(
308309
"original_schema_name",
309310
&UnknownSchema::original_schema_name)

tests/test_unknown_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def test_unknown_to_dict(self):
7878
"howlongami": otio.opentime.RationalTime(rate=30, value=100)
7979
}
8080
)
81-
81+
8282
# Mutation of unkown_data should not mutate the unknown object.
8383
unknown_data["some_data"] = 0
8484
self.assertEqual(

0 commit comments

Comments
 (0)