Fix #119936: Crash selecting in mask editor
Regression since 7a2d04a5c4.
Mask evaluation is part of parameters component, and there is no explicit
tags other than copy-on-eval for masks in a lot of cases.
Restore the previous graph topology for the link from copy-on-eval to the
parameters components of mask ID.
Potential candidate for 4.1.1.
Pull Request: https://projects.blender.org/blender/blender/pulls/119956
This commit is contained in:
committed by
Thomas Dinges
parent
6122b6e22d
commit
f80b4a4f55
@@ -3447,6 +3447,15 @@ void DepsgraphRelationBuilder::build_copy_on_write_relations(IDNode *id_node)
|
|||||||
if (ELEM(comp_node->type, NodeType::LAYER_COLLECTIONS)) {
|
if (ELEM(comp_node->type, NodeType::LAYER_COLLECTIONS)) {
|
||||||
rel_flag &= ~RELATION_FLAG_NO_FLUSH;
|
rel_flag &= ~RELATION_FLAG_NO_FLUSH;
|
||||||
}
|
}
|
||||||
|
/* Mask evaluation operation is part of parameters, and it needs to be re-evaluated when the
|
||||||
|
* mask is tagged for copy-on-eval.
|
||||||
|
*
|
||||||
|
* TODO(@sergey): This needs to be moved out of here.
|
||||||
|
* In order to do so, moving mask evaluation out of parameters would be helpful and
|
||||||
|
* semantically correct. */
|
||||||
|
if (comp_node->type == NodeType::PARAMETERS && id_type == ID_MSK) {
|
||||||
|
rel_flag &= ~RELATION_FLAG_NO_FLUSH;
|
||||||
|
}
|
||||||
/* Compatibility with the legacy tagging: groups are only tagged for Copy-on-Write when their
|
/* Compatibility with the legacy tagging: groups are only tagged for Copy-on-Write when their
|
||||||
* hierarchy changes, and it needs to be flushed downstream. */
|
* hierarchy changes, and it needs to be flushed downstream. */
|
||||||
if (id_type == ID_GR && comp_node->type == NodeType::HIERARCHY) {
|
if (id_type == ID_GR && comp_node->type == NodeType::HIERARCHY) {
|
||||||
|
|||||||
Reference in New Issue
Block a user