On Mon Nov 21 14:45:36 2022 +0000, Gabriel Ivăncescu wrote:
We can't, because we can store an arbitrary variant in its place, and we still have to keep link to the obj in that case (so we can detach it, when needed). NULL would obtain another, new, performance object. The previous code used `performance_initialized` for this, but I wanted to condense the fields for it, otherwise we'll have 3 fields just for this which seems less than ideal, so I used a sentinel value (-1) for the obj itself.
You could, for example, have separated reference to performance_obj instead of sharing it with VARIANT, so it's kept alive until window is destroyed even if performance property is changed. Depending on how you solve circular reference problem, you may need it anyway.