Fix T74983: Material preview icons don't refresh
The root cause of the issue reported in T74983 is that an `IDNode` would not be marked as user-modified. This marking happened while looping over outgoing relations of one of its operation nodes. Since rBff60dd8b18ed unused relations are removed, and as a result the `IDNode` would not be marked. The solution was to move the responsible code outside the loop; this is probably a good idea anyway, as the code did not actually use the looped-over relations at all, and was thus repeated unnecessarily.
This commit is contained in:
parent
b75a7c2f8f
commit
e276558a50
Notes:
blender-bot
2023-02-14 06:00:45 +01:00
Referenced by issue #74983, Material preview icons don't refresh
|
@ -172,16 +172,17 @@ BLI_INLINE void flush_handle_component_node(IDNode *id_node,
|
|||
*/
|
||||
BLI_INLINE OperationNode *flush_schedule_children(OperationNode *op_node, FlushQueue *queue)
|
||||
{
|
||||
if (op_node->flag & DEPSOP_FLAG_USER_MODIFIED) {
|
||||
IDNode *id_node = op_node->owner->owner;
|
||||
id_node->is_user_modified = true;
|
||||
}
|
||||
|
||||
OperationNode *result = nullptr;
|
||||
for (Relation *rel : op_node->outlinks) {
|
||||
/* Flush is forbidden, completely. */
|
||||
if (rel->flag & RELATION_FLAG_NO_FLUSH) {
|
||||
continue;
|
||||
}
|
||||
if (op_node->flag & DEPSOP_FLAG_USER_MODIFIED) {
|
||||
IDNode *id_node = op_node->owner->owner;
|
||||
id_node->is_user_modified = true;
|
||||
}
|
||||
/* Relation only allows flushes on user changes, but the node was not
|
||||
* affected by user. */
|
||||
if ((rel->flag & RELATION_FLAG_FLUSH_USER_EDIT_ONLY) &&
|
||||
|
|
Loading…
Reference in New Issue