[Bf-blender-cvs] [688b408bbb9] master: Fix 'ED_transform_snap_object_project_ray_all' not return 'hit_list'

Germano Cavalcante noreply at git.blender.org
Mon Nov 7 12:37:55 CET 2022


Commit: 688b408bbb9b92332752ee48b099f7898bf62462
Author: Germano Cavalcante
Date:   Mon Nov 7 08:37:51 2022 -0300
Branches: master
https://developer.blender.org/rB688b408bbb9b92332752ee48b099f7898bf62462

Fix 'ED_transform_snap_object_project_ray_all' not return 'hit_list'

Missed in rBff4f14b21a42.

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

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

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

diff --git a/source/blender/editors/transform/transform_snap_object.cc b/source/blender/editors/transform/transform_snap_object.cc
index 54085295e9e..1663fd12586 100644
--- a/source/blender/editors/transform/transform_snap_object.cc
+++ b/source/blender/editors/transform/transform_snap_object.cc
@@ -3120,6 +3120,16 @@ bool ED_transform_snap_object_project_ray_all(SnapObjectContext *sctx,
   sctx->runtime.depsgraph = depsgraph;
   sctx->runtime.v3d = v3d;
 
+  zero_v3(sctx->ret.loc);
+  zero_v3(sctx->ret.no);
+  sctx->ret.index = -1;
+  zero_m4(sctx->ret.obmat);
+  sctx->ret.hit_list = r_hit_list;
+  sctx->ret.ob = nullptr;
+  sctx->ret.data = nullptr;
+  sctx->ret.dist_sq = FLT_MAX;
+  sctx->ret.is_edit = false;
+
   if (ray_depth == -1.0f) {
     ray_depth = BVH_RAYCAST_DIST_MAX;
   }
@@ -3128,18 +3138,17 @@ bool ED_transform_snap_object_project_ray_all(SnapObjectContext *sctx,
   float ray_depth_prev = ray_depth;
 #endif
 
-  bool retval = raycastObjects(sctx, params, ray_start, ray_normal, &ray_depth);
-
-  /* meant to be readonly for 'all' hits, ensure it is */
+  if (raycastObjects(sctx, params, ray_start, ray_normal, &ray_depth)) {
+    if (sort) {
+      BLI_listbase_sort(r_hit_list, hit_depth_cmp);
+    }
+    /* meant to be readonly for 'all' hits, ensure it is */
 #ifdef DEBUG
-  BLI_assert(ray_depth_prev == ray_depth);
+    BLI_assert(ray_depth_prev == ray_depth);
 #endif
-
-  if (sort) {
-    BLI_listbase_sort(r_hit_list, hit_depth_cmp);
+    return true;
   }
-
-  return retval;
+  return false;
 }
 
 /**



More information about the Bf-blender-cvs mailing list