Issue was exposed by recent own rB03bf84db86b commit, but was actually
present in RNA API for PointCaches since (probably) ages: whole accessor
code here was assuming that owner ID was an Object, when it is actually
a scene for RigidBody simulations...
Had also to make `BKE_ptcache_id_find()` and friends a bit more
flexible, now they also accept a NULL object pointer parameter...
Before there were two options: Paste to original layer called "Paste" and Paste to active layer called "Paste & Merge"
Now, by default the paste is in active layer and the "Paste & Merge" has been renamed "Paste".
For old "Paste", now is called "Paste by Layer" and it's not the default value anymore.
Note: Minor edits to add icons not present in Differential revision.
Differential Revision: https://developer.blender.org/D5591
The correct fix would be to avoid all those hacks but this is needed if
we want to be able to parallelize object vbo extractions.
This is the fixed version of the hack. The issue was that the ibo ranges
were saved before the batch were reset and the IBO was discarded, leading
to a read after free error. All previous reported crash were tested and
are now not reproductible.
The specifc bug here came fro; some IDProperties ID pointer storing
references to workspaces.
But that was actually a main loophole in that 'unndoing data while
keeping same UI' process, as we never know who might store a pointer to
one of those datablocks that we want to keep the 'old' version off.
It might actually be ever more needed when we start undoing (changing)
only the IDs actually modified in an undo step...
Notes:
* While not ideal, I think we can afford an extra looping over the whole
Main DB here... Remapping process in itself is fairly cheap, thanks to
the hashes.
* This commit is considered rather risky (especially thanks to 'private'
IDs), think it should work fine for now, unless some IDPointers start
storing references to private IDs...
Once D5559 is in, we shall do another pass here, probably also forbids
assigning private IDs to IDProperties, etc.
Dims the text and background of disabled menu items while mouse is hovering.
Differential Revision: https://developer.blender.org/D5575
Reviewed by William Reynish
As part of T66294 is needed to use the evaluated data for Sculpt brushes to make possible to Sculpt a transformed stroke.
Without this commit, it was impossible sculpt the stroke if the modifier moves away the stroke point from original position. Also, some calculation is done in order to determine the rotation to transform the brush effect too.
- All parts of the code that need tessface should calculate it on demand.
- The check for tessloopnormal mask isn't correct
(since this is loop data, not tessface data).
Now the selection is using the position after evaluating the modifiers and makes possible to select a stroke point that has been moved from the original location.
Related to T66294