The method isn't copying enough bytes back to the original Matrix.
Details
Diff Detail
- Repository
- rB Blender
Event Timeline
Although this patch fixes the issue I reported, the operator's behaviour is still different from @.
@= will modify the memory of the original Matrix object while @ will create a new one, which makes a difference when the Matrix being operating on was passed in from somewhere else. Changes made with @= will propagate outside the current scope, while changes made with @ are local.
Is this intended? This is not how the *= operator worked in 2.79.
@Tom Edwards (artfunkel) this is intended, it works this way for lists too.
>>> a = [5] >>> b = a >>> a *= 10 >>> b [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
Makes sense. It's a breaking change though, could you add a note about it to https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API?
Added note:
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API#Matrix_Multiplication
Double checked that Vector's & Quaternion's already work this way.