[Bf-blender-cvs] [80536e8bae3] blender-v2.93-release: Fix T87615: No snapping to objects instanced by Geometry nodes

Germano Cavalcante noreply at git.blender.org
Thu Apr 22 14:58:13 CEST 2021


Commit: 80536e8bae3ef92b894f2005bcf3f96865234e51
Author: Germano Cavalcante
Date:   Thu Apr 22 09:57:45 2021 -0300
Branches: blender-v2.93-release
https://developer.blender.org/rB80536e8bae3ef92b894f2005bcf3f96865234e51

Fix T87615: No snapping to objects instanced by Geometry nodes

The code of the snapping system to interact the objects in the scene only
considers instances what comes from "DUPLI" objects.

This commit adds instances coming from Geometry nodes.

Differential Revision: https://developer.blender.org/D11020

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

M	source/blender/editors/transform/transform_snap_object.c

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

diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c
index ec98b6af169..e97d49e0971 100644
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@ -415,10 +415,12 @@ static void iter_snap_objects(SnapObjectContext *sctx,
     }
 
     Object *obj_eval = DEG_get_evaluated_object(depsgraph, base->object);
-    if (obj_eval->transflag & OB_DUPLI) {
-      DupliObject *dupli_ob;
+    if (obj_eval->transflag & OB_DUPLI ||
+        (obj_eval->runtime.geometry_set_eval != NULL &&
+         BKE_geometry_set_has_instances(obj_eval->runtime.geometry_set_eval))) {
       ListBase *lb = object_duplilist(depsgraph, sctx->scene, obj_eval);
-      for (dupli_ob = lb->first; dupli_ob; dupli_ob = dupli_ob->next) {
+      for (DupliObject *dupli_ob = lb->first; dupli_ob; dupli_ob = dupli_ob->next) {
+        BLI_assert(DEG_is_evaluated_object(dupli_ob->ob));
         sob_callback(sctx,
                      dupli_ob->ob,
                      dupli_ob->mat,



More information about the Bf-blender-cvs mailing list