diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-07-30 23:41:10 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-07-30 23:45:05 +0300 |
commit | 18773f3f1502d35d2a4b88e5d7579ba015095a96 (patch) | |
tree | f31a2bf3c53e58e730b5efe202eb9c9f85945823 /source/blender/makesrna | |
parent | 0467443930417f92f2dadc5dc63db4bfeb6ea5f2 (diff) |
Fix manipulator Python API crash w/ undo
Split up manipulator free & unlink, so freeing window data doesn't
run callbacks that might use freed data.
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_wm_manipulator.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_wm_manipulator.c b/source/blender/makesrna/intern/rna_wm_manipulator.c index fc7dcdbe3cb..28821ecb0bd 100644 --- a/source/blender/makesrna/intern/rna_wm_manipulator.c +++ b/source/blender/makesrna/intern/rna_wm_manipulator.c @@ -522,14 +522,14 @@ static wmManipulator *rna_ManipulatorGroup_manipulator_new( static void rna_ManipulatorGroup_manipulator_remove( wmManipulatorGroup *mgroup, bContext *C, wmManipulator *mpr) { - WM_manipulator_free(&mgroup->manipulators, mgroup->parent_mmap, mpr, C); + WM_manipulator_unlink(&mgroup->manipulators, mgroup->parent_mmap, mpr, C); } static void rna_ManipulatorGroup_manipulator_clear( wmManipulatorGroup *mgroup, bContext *C) { while (mgroup->manipulators.first) { - WM_manipulator_free(&mgroup->manipulators, mgroup->parent_mmap, mgroup->manipulators.first, C); + WM_manipulator_unlink(&mgroup->manipulators, mgroup->parent_mmap, mgroup->manipulators.first, C); } } |