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:
authorAlexander Gavrilov <angavrilov@gmail.com>2018-12-03 15:22:19 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2018-12-03 17:01:02 +0300
commit1983a52e04eb0b0a8a71d66a1bb2f316f1326d90 (patch)
tree032e4d5d6909af1c21a7fc7abdb2b67911a32412 /source/blender/depsgraph/intern/eval/deg_eval.cc
parent764e937d1a77b99d384a729700a08ef6fbe7bfac (diff)
Depsgraph: assert that mesh_get_eval_final/deform aren't used in eval.
Using those functions during multithreaded evaluation is a sure way to have a race condition and crash.
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval.cc')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval.cc b/source/blender/depsgraph/intern/eval/deg_eval.cc
index 0097fc95948..d3b49d275b9 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval.cc
@@ -291,6 +291,7 @@ void deg_evaluate_on_refresh(Depsgraph *graph)
}
const bool do_time_debug = ((G.debug & G_DEBUG_DEPSGRAPH_TIME) != 0);
const double start_time = do_time_debug ? PIL_check_seconds_timer() : 0;
+ graph->debug_is_evaluating = true;
depsgraph_ensure_view_layer(graph);
/* Set up evaluation state. */
DepsgraphEvalState state;
@@ -326,6 +327,7 @@ void deg_evaluate_on_refresh(Depsgraph *graph)
if (need_free_scheduler) {
BLI_task_scheduler_free(task_scheduler);
}
+ graph->debug_is_evaluating = false;
if (do_time_debug) {
printf("Depsgraph updated in %f seconds.\n",
PIL_check_seconds_timer() - start_time);