diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-04-13 06:30:53 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-04-13 06:37:27 +0300 |
commit | 64660b902c3fb52fe5a3cb5bf232f90283db8732 (patch) | |
tree | c9549b247ca35e92c3f03db4f07d95aaede60e48 /source/blender/draw/modes/edit_mesh_mode.c | |
parent | c080702e73f1729897033343d44198488b6fed9f (diff) |
Use 'safe' macros for common free operation
Same as MEM_SAFE_FREE macro,
checks for NULL, runs free then sets NULL.
Blocks of code that do this many times are noisy and likely
errors here wouldn't be noticed immediately.
Also NULL's static vars which were being left set.
Diffstat (limited to 'source/blender/draw/modes/edit_mesh_mode.c')
-rw-r--r-- | source/blender/draw/modes/edit_mesh_mode.c | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c index 08a6a6e778b..46a3e8e2e4e 100644 --- a/source/blender/draw/modes/edit_mesh_mode.c +++ b/source/blender/draw/modes/edit_mesh_mode.c @@ -499,30 +499,18 @@ void EDIT_MESH_collection_settings_create(IDProperty *properties) static void EDIT_MESH_engine_free(void) { - if (e_data.overlay_tri_sh) - DRW_shader_free(e_data.overlay_tri_sh); - if (e_data.overlay_tri_fast_sh) - DRW_shader_free(e_data.overlay_tri_fast_sh); - if (e_data.overlay_tri_vcol_sh) - DRW_shader_free(e_data.overlay_tri_vcol_sh); - if (e_data.overlay_tri_vcol_fast_sh) - DRW_shader_free(e_data.overlay_tri_vcol_fast_sh); - if (e_data.overlay_edge_sh) - DRW_shader_free(e_data.overlay_edge_sh); - if (e_data.overlay_edge_vcol_sh) - DRW_shader_free(e_data.overlay_edge_vcol_sh); - if (e_data.overlay_vert_sh) - DRW_shader_free(e_data.overlay_vert_sh); - if (e_data.overlay_facedot_sh) - DRW_shader_free(e_data.overlay_facedot_sh); - if (e_data.overlay_mix_sh) - DRW_shader_free(e_data.overlay_mix_sh); - if (e_data.overlay_facefill_sh) - DRW_shader_free(e_data.overlay_facefill_sh); - if (e_data.normals_face_sh) - DRW_shader_free(e_data.normals_face_sh); - if (e_data.normals_sh) - DRW_shader_free(e_data.normals_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_tri_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_tri_fast_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_tri_vcol_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_tri_vcol_fast_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_edge_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_edge_vcol_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_vert_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_facedot_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_mix_sh); + DRW_SHADER_FREE_SAFE(e_data.overlay_facefill_sh); + DRW_SHADER_FREE_SAFE(e_data.normals_face_sh); + DRW_SHADER_FREE_SAFE(e_data.normals_sh); } static const DrawEngineDataSize EDIT_MESH_data_size = DRW_VIEWPORT_DATA_SIZE(EDIT_MESH_Data); |