Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey@blender.org>2021-06-21 15:27:26 +0300
committerSergey Sharybin <sergey@blender.org>2021-06-22 10:52:45 +0300
commit956c539e597aed84c355c8336dfd5797f4e69ea7 (patch)
tree52a6511183117fdff9407f49846fd508bd24223f /source/blender/depsgraph/intern/eval/deg_eval.cc
parentd3a792431e6a71d23ea0916294b197003a8e2367 (diff)
Fix T89196: Depsgraph use-after-free after scene switching undo
Delay depsgraph visibility update tagging until it is known that graph relations are up to date, and until it is known that the graph is actually needed to be evaluated. Differential Revision: https://developer.blender.org/D11660
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval.cc')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval.cc b/source/blender/depsgraph/intern/eval/deg_eval.cc
index 620e86550cc..6f35143e28f 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval.cc
@@ -45,6 +45,7 @@
#include "intern/depsgraph.h"
#include "intern/depsgraph_relation.h"
+#include "intern/depsgraph_tag.h"
#include "intern/eval/deg_eval_copy_on_write.h"
#include "intern/eval/deg_eval_flush.h"
#include "intern/eval/deg_eval_stats.h"
@@ -365,6 +366,8 @@ static TaskPool *deg_evaluate_task_pool_create(DepsgraphEvalState *state)
*/
void deg_evaluate_on_refresh(Depsgraph *graph)
{
+ graph_tag_ids_for_visible_update(graph);
+
/* Nothing to update, early out. */
if (graph->entry_tags.is_empty()) {
return;