[Bf-blender-cvs] [3a454beae73] blender-v3.0-release: Fix T91094: missing update after collection changed

Jacques Lucke noreply at git.blender.org
Tue Nov 2 18:13:58 CET 2021


Commit: 3a454beae73cdfe9c07e7308f78b00c79b502e19
Author: Jacques Lucke
Date:   Tue Nov 2 18:12:43 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rB3a454beae73cdfe9c07e7308f78b00c79b502e19

Fix T91094: missing update after collection changed

Since rBb67fe05d4bea2d3c9efbd127e9d9dc3a897e89e6 collections
have a geometry component that depends on all the geometries
inside the collection. Contrary to what I originally thought
`ID_RECALC_COPY_ON_WRITE` does not trigger a collection geometry
update. This makes sense because a collection may change in ways
that do not require a geometry update.
Instead, we have to trigger the geometry update manually now by
passing `ID_RECALC_GEOMETRY` when appropriate.

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

M	source/blender/editors/space_outliner/outliner_dragdrop.c

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

diff --git a/source/blender/editors/space_outliner/outliner_dragdrop.c b/source/blender/editors/space_outliner/outliner_dragdrop.c
index a391d032d7e..ed52eeab98c 100644
--- a/source/blender/editors/space_outliner/outliner_dragdrop.c
+++ b/source/blender/editors/space_outliner/outliner_dragdrop.c
@@ -1311,7 +1311,7 @@ static int collection_drop_invoke(bContext *C, wmOperator *UNUSED(op), const wmE
     }
 
     if (from) {
-      DEG_id_tag_update(&from->id, ID_RECALC_COPY_ON_WRITE);
+      DEG_id_tag_update(&from->id, ID_RECALC_COPY_ON_WRITE | ID_RECALC_GEOMETRY);
     }
   }



More information about the Bf-blender-cvs mailing list