diff --git a/source/blender/editors/transform/transform_snap_object.cc b/source/blender/editors/transform/transform_snap_object.cc index 5ee6ff4d218..a32f23db0b9 100644 --- a/source/blender/editors/transform/transform_snap_object.cc +++ b/source/blender/editors/transform/transform_snap_object.cc @@ -1269,9 +1269,13 @@ eSnapMode ED_transform_snap_object_project_view3d_ex(SnapObjectContext *sctx, { eSnapMode retval = SCE_SNAP_TO_NONE; float ray_depth_max = BVH_RAYCAST_DIST_MAX; + bool use_occlusion_plane = false; - const bool is_allways_occluded = !params->use_occlusion_test; - bool use_occlusion_plane = is_allways_occluded || !XRAY_ENABLED(v3d); + /* It is required `mval` to calculate the occlusion plane. */ + if (mval) { + const bool is_allways_occluded = !params->use_occlusion_test; + use_occlusion_plane = is_allways_occluded || !XRAY_ENABLED(v3d); + } if (use_occlusion_plane || (snap_to_flag & SCE_SNAP_TO_FACE)) { const RegionView3D *rv3d = static_cast(region->regiondata);