[Bf-blender-cvs] [0353ff5d2f7] blender2.8: BKE_id_free(): avoid UI and DEG calls when tagged with LIB_TAG_NO_MAIN

Sybren A. Stüvel noreply at git.blender.org
Wed May 9 14:40:26 CEST 2018


Commit: 0353ff5d2f788f8c47d309b77fc9091f3e49d914
Author: Sybren A. Stüvel
Date:   Wed May 9 14:36:04 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB0353ff5d2f788f8c47d309b77fc9091f3e49d914

BKE_id_free(): avoid UI and DEG calls when tagged with LIB_TAG_NO_MAIN

This prevents threading issues & crashes from modifiers that create
temporary meshes.

===================================================================

M	source/blender/blenkernel/intern/library_remap.c

===================================================================

diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c
index f6e03fec380..c5d6df382a7 100644
--- a/source/blender/blenkernel/intern/library_remap.c
+++ b/source/blender/blenkernel/intern/library_remap.c
@@ -898,7 +898,7 @@ void BKE_id_free_ex(Main *bmain, void *idv, int flag, const bool use_flag_from_i
 
 	if (use_flag_from_idtag) {
 		if ((id->tag & LIB_TAG_NO_MAIN) != 0) {
-			flag |= LIB_ID_FREE_NO_MAIN;
+			flag |= LIB_ID_FREE_NO_MAIN | LIB_ID_FREE_NO_UI_USER | LIB_ID_FREE_NO_DEG_TAG;
 		}
 		else {
 			flag &= ~LIB_ID_FREE_NO_MAIN;



More information about the Bf-blender-cvs mailing list