diff options
Diffstat (limited to 'source/blender/editors/transform')
4 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 24517a47118..b78657ff11f 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -6034,7 +6034,9 @@ static void calcEdgeSlide_mval_range( continue; /* This test is only relevant if object is not wire-drawn! See [#32068]. */ - if (use_occlude_geometry && !BMBVH_EdgeVisible(bmbvh, e_other, ar, v3d, t->obedit)) { + if (use_occlude_geometry && + !BMBVH_EdgeVisible(bmbvh, e_other, t->depsgraph, ar, v3d, t->obedit)) + { continue; } diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index d9bfcd0c289..4ad66c0a9a5 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -43,6 +43,7 @@ /* ************************** Types ***************************** */ +struct Depsgraph; struct TransInfo; struct TransData; struct TransformOrientation; @@ -468,6 +469,7 @@ typedef struct TransInfo { struct bContext *context; /* Only valid (non null) during an operator called function. */ struct ScrArea *sa; struct ARegion *ar; + struct Depsgraph *depsgraph; struct Scene *scene; struct ViewLayer *view_layer; struct RenderEngineType *engine_type; diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 10a7677f42b..1aa4513e99b 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1115,6 +1115,7 @@ static int initTransInfo_edit_pet_to_flag(const int proportional) */ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *event) { + Depsgraph *depsgraph = CTX_data_depsgraph(C); Scene *sce = CTX_data_scene(C); ViewLayer *view_layer = CTX_data_view_layer(C); ToolSettings *ts = CTX_data_tool_settings(C); @@ -1125,7 +1126,8 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve bGPdata *gpd = CTX_data_gpencil_data(C); RenderEngineType *engine_type = CTX_data_engine_type(C); PropertyRNA *prop; - + + t->depsgraph = depsgraph; t->scene = sce; t->view_layer = view_layer; t->engine_type = engine_type; diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c index bd774129a6c..8f0590eb5b9 100644 --- a/source/blender/editors/transform/transform_snap_object.c +++ b/source/blender/editors/transform/transform_snap_object.c @@ -2372,6 +2372,7 @@ bool ED_transform_snap_object_project_view3d_ex( ED_view3d_win_to_vector(ar, mval, ray_normal); ED_view3d_clip_range_get( + sctx->eval_ctx.depsgraph, sctx->v3d_data.v3d, sctx->v3d_data.ar->regiondata, &depth_range[0], &depth_range[1], false); @@ -2438,6 +2439,7 @@ bool ED_transform_snap_object_project_all_view3d_ex( float ray_start[3], ray_normal[3]; if (!ED_view3d_win_to_ray_ex( + sctx->eval_ctx.depsgraph, sctx->v3d_data.ar, sctx->v3d_data.v3d, mval, NULL, ray_normal, ray_start, true)) { |