diff options
Diffstat (limited to 'source/blender/blenkernel/intern/deform.c')
-rw-r--r-- | source/blender/blenkernel/intern/deform.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index 22ff8bf4bb7..f33f17019b3 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -1189,7 +1189,12 @@ bool data_transfer_layersmapping_vgroups( if (fromlayers >= 0) { idx_src = fromlayers; - BLI_assert(idx_src < BLI_listbase_count(&ob_src->defbase)); + if (idx_src >= BLI_listbase_count(&ob_src->defbase)) { + /* This can happen when vgroups are removed from source object... + * Remapping would be really tricky here, we'd need to go over all objects in Main everytime we delete + * a vgroup... for now, simpler and safer to abort. */ + return false; + } } else if ((idx_src = ob_src->actdef - 1) == -1) { return false; |