From 5f66510a212d70a516f31ce3d9dec3ca495a04e7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 10 Sep 2020 16:09:58 +1000 Subject: Fix T71012: Cycles baking crash with locked-UI & background-mode --- intern/cycles/blender/blender_sync.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 511061db08a..44bf6f59899 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -717,7 +717,11 @@ void BlenderSync::free_data_after_sync(BL::Depsgraph &b_depsgraph) * footprint during synchronization process. */ const bool is_interface_locked = b_engine.render() && b_engine.render().use_lock_interface(); - const bool can_free_caches = BlenderSession::headless || is_interface_locked; + const bool can_free_caches = (BlenderSession::headless || is_interface_locked) && + /* Baking re-uses the depsgraph multiple times, clearing crashes + * reading un-evaluated mesh data which isn't aligned with the + * geometry we're baking, see T71012. */ + !scene->bake_manager->get_baking(); if (!can_free_caches) { return; } -- cgit v1.2.3