From f2a21472c4939bf0b5666ec654bbc12bbc6a6e81 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 18 Feb 2019 16:59:31 +0100 Subject: Fix T61473: Crash particle system is updating Original and localized particle settings were sharing some of the runtime pointers. --- source/blender/blenkernel/intern/effect.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/blender/blenkernel/intern/effect.c') diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index 48b427d5837..d1ad7f10206 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -131,6 +131,18 @@ PartDeflect *BKE_partdeflect_new(int type) /************************ PARTICLES ***************************/ +PartDeflect *BKE_partdeflect_copy(const struct PartDeflect *pd_src) +{ + if (pd_src == NULL) { + return NULL; + } + PartDeflect *pd_dst = MEM_dupallocN(pd_src); + if (pd_dst->rng != NULL) { + pd_dst->rng = BLI_rng_copy(pd_dst->rng); + } + return pd_dst; +} + void BKE_partdeflect_free(PartDeflect *pd) { if (!pd) { -- cgit v1.2.3