[Bf-blender-cvs] [6cbdde1ba1a] blender2.8: Fix T53400: DEG tagging is freeing Irradiance Grid when selecting objects

Sergey Sharybin noreply at git.blender.org
Tue Dec 19 11:49:32 CET 2017


Commit: 6cbdde1ba1a4476d7f6dbec955adb4836f56e33d
Author: Sergey Sharybin
Date:   Tue Dec 19 11:46:53 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB6cbdde1ba1a4476d7f6dbec955adb4836f56e33d

Fix T53400: DEG tagging is freeing Irradiance Grid when selecting objects

Ignore selection related recalc in Eevee ID update callback.

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

M	source/blender/draw/engines/eevee/eevee_engine.c

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

diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index f24381e1fb4..1466ed6adb7 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -283,6 +283,13 @@ static void eevee_view_update(void *vedata)
 
 static void eevee_id_update(void *UNUSED(vedata), ID *id)
 {
+	/* This is a bit mask of components which update is to be ignored. */
+	const int ignore_updates = ID_RECALC_COLLECTIONS;
+	/* Check whether we have to do anything here. */
+	if ((id->recalc & ~ignore_updates) == 0) {
+		return;
+	}
+	/* Handle updates based on ID type. */
 	const ID_Type id_type = GS(id->name);
 	if (id_type == ID_OB) {
 		Object *object = (Object *)id;



More information about the Bf-blender-cvs mailing list