diff options
-rw-r--r-- | source/blender/modifiers/intern/MOD_weightvgedit.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_weightvgmix.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_weightvgproximity.c | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/modifiers/intern/MOD_weightvgedit.c b/source/blender/modifiers/intern/MOD_weightvgedit.c index a34ed1baaff..356edcd7bec 100644 --- a/source/blender/modifiers/intern/MOD_weightvgedit.c +++ b/source/blender/modifiers/intern/MOD_weightvgedit.c @@ -214,7 +214,9 @@ static Mesh *applyModifier( } /* Ultimate security check. */ if (!dvert) { - BKE_id_free(NULL, result); + if (result != mesh) { + BKE_id_free(NULL, result); + } return mesh; } diff --git a/source/blender/modifiers/intern/MOD_weightvgmix.c b/source/blender/modifiers/intern/MOD_weightvgmix.c index b6a7228b171..3c740530258 100644 --- a/source/blender/modifiers/intern/MOD_weightvgmix.c +++ b/source/blender/modifiers/intern/MOD_weightvgmix.c @@ -254,7 +254,9 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes } /* Ultimate security check. */ if (!dvert) { - BKE_id_free(NULL, result); + if (result != mesh) { + BKE_id_free(NULL, result); + } return mesh; } diff --git a/source/blender/modifiers/intern/MOD_weightvgproximity.c b/source/blender/modifiers/intern/MOD_weightvgproximity.c index 05b1ec19253..c485aa132d7 100644 --- a/source/blender/modifiers/intern/MOD_weightvgproximity.c +++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c @@ -433,7 +433,9 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes } /* Ultimate security check. */ if (!dvert) { - BKE_id_free(NULL, result); + if (result != mesh) { + BKE_id_free(NULL, result); + } return mesh; } |