Cleanup: deduplicate free code
It is more appropriate that `depths` is freed in `ED_view3d_depths_free`.
This commit is contained in:
parent
3f1111b2a8
commit
ab063db34d
|
@ -624,7 +624,6 @@ static void curve_draw_exit(wmOperator *op)
|
|||
|
||||
if (cdd->depths) {
|
||||
ED_view3d_depths_free(cdd->depths);
|
||||
MEM_freeN(cdd->depths);
|
||||
}
|
||||
MEM_freeN(cdd);
|
||||
op->customdata = NULL;
|
||||
|
|
|
@ -1687,7 +1687,6 @@ static void object_transform_axis_target_free_data(wmOperator *op)
|
|||
#ifdef USE_RENDER_OVERRIDE
|
||||
if (xfd->depths) {
|
||||
ED_view3d_depths_free(xfd->depths);
|
||||
MEM_freeN(xfd->depths);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -525,14 +525,12 @@ static void PE_set_view3d_data(bContext *C, PEData *data)
|
|||
ED_view3d_viewcontext_init(C, &data->vc, data->depsgraph);
|
||||
|
||||
if (!XRAY_ENABLED(data->vc.v3d)) {
|
||||
if (!(data->vc.v3d->runtime.flag & V3D_RUNTIME_DEPTHBUF_OVERRIDDEN)) {
|
||||
ED_view3d_depth_override(data->depsgraph,
|
||||
data->vc.region,
|
||||
data->vc.v3d,
|
||||
data->vc.obact,
|
||||
V3D_DEPTH_OBJECT_ONLY,
|
||||
&data->depths);
|
||||
}
|
||||
ED_view3d_depth_override(data->depsgraph,
|
||||
data->vc.region,
|
||||
data->vc.v3d,
|
||||
data->vc.obact,
|
||||
V3D_DEPTH_OBJECT_ONLY,
|
||||
&data->depths);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -577,7 +575,6 @@ static void PE_data_free(PEData *data)
|
|||
PE_free_shape_tree(data);
|
||||
if (data->depths) {
|
||||
ED_view3d_depths_free(data->depths);
|
||||
MEM_freeN(data->depths);
|
||||
data->depths = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2322,7 +2322,10 @@ void ED_view3d_depth_override(Depsgraph *depsgraph,
|
|||
ViewDepths **r_depths)
|
||||
{
|
||||
if (v3d->runtime.flag & V3D_RUNTIME_DEPTHBUF_OVERRIDDEN) {
|
||||
return;
|
||||
/* Force redraw if `r_depths` is required. */
|
||||
if (!r_depths || *r_depths != NULL) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
struct bThemeState theme_state;
|
||||
Scene *scene = DEG_get_evaluated_scene(depsgraph);
|
||||
|
@ -2365,6 +2368,9 @@ void ED_view3d_depth_override(Depsgraph *depsgraph,
|
|||
}
|
||||
|
||||
if (r_depths) {
|
||||
if (*r_depths) {
|
||||
ED_view3d_depths_free(*r_depths);
|
||||
}
|
||||
*r_depths = view3d_depths_create(region);
|
||||
}
|
||||
}
|
||||
|
@ -2384,6 +2390,7 @@ void ED_view3d_depths_free(ViewDepths *depths)
|
|||
if (depths->depths) {
|
||||
MEM_freeN(depths->depths);
|
||||
}
|
||||
MEM_freeN(depths);
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
|
|
@ -1019,7 +1019,7 @@ static float view_autodist_depth_margin(ARegion *region, const int mval[2], int
|
|||
ViewDepths depth_temp = {0};
|
||||
view3d_depths_rect_create(region, &rect, &depth_temp);
|
||||
float depth_close = view3d_depth_near(&depth_temp);
|
||||
ED_view3d_depths_free(&depth_temp);
|
||||
MEM_SAFE_FREE(depth_temp.depths);
|
||||
return depth_close;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue