diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-07-13 13:52:10 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-07-13 13:52:10 +0300 |
commit | 4705682151b19fbaa5cccd85cbc8b0d00f743e30 (patch) | |
tree | f834bd02a30b3f4891cd77a8ab4ed282133718cd /source/blender/windowmanager/intern/wm_operator_type.c | |
parent | 2ead3f0765a15cce5367c4701539b6900299a97f (diff) | |
parent | f6367ecfb65502a1ec40c5e382800b2ac214a499 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/windowmanager/intern/wm_operator_type.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_operator_type.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_operator_type.c b/source/blender/windowmanager/intern/wm_operator_type.c index e0d3c4a6727..89421ac0ab0 100644 --- a/source/blender/windowmanager/intern/wm_operator_type.c +++ b/source/blender/windowmanager/intern/wm_operator_type.c @@ -262,6 +262,27 @@ void WM_operatortype_props_advanced_end(wmOperatorType *ot) ot_prop_basic_count = -1; } +/** + * Remove memory of all previously executed tools. + */ +void WM_operatortype_last_properties_clear_all(void) +{ + GHashIterator iter; + + for (WM_operatortype_iter(&iter); + (!BLI_ghashIterator_done(&iter)); + (BLI_ghashIterator_step(&iter))) + { + wmOperatorType *ot = BLI_ghashIterator_getValue(&iter); + + if (ot->last_properties) { + IDP_FreeProperty(ot->last_properties); + MEM_freeN(ot->last_properties); + ot->last_properties = NULL; + } + } +} + /** \} */ /* -------------------------------------------------------------------- */ |