diff options
Diffstat (limited to 'source/blender/editors/physics')
-rw-r--r-- | source/blender/editors/physics/particle_edit.c | 11 | ||||
-rw-r--r-- | source/blender/editors/physics/particle_edit_undo.c | 11 |
2 files changed, 12 insertions, 10 deletions
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c index 63f12e339b9..ff36197c61e 100644 --- a/source/blender/editors/physics/particle_edit.c +++ b/source/blender/editors/physics/particle_edit.c @@ -5200,7 +5200,8 @@ void PE_create_particle_edit( for (pm = cache->mem_cache.first; pm; pm = pm->next) { LOOP_POINTS { - if (BKE_ptcache_mem_pointers_seek(p, pm) == 0) { + void *cur[BPHYS_TOT_DATA]; + if (BKE_ptcache_mem_pointers_seek(p, pm, cur) == 0) { continue; } @@ -5212,12 +5213,12 @@ void PE_create_particle_edit( key = point->keys + point->totkey; } - key->co = pm->cur[BPHYS_DATA_LOCATION]; - key->vel = pm->cur[BPHYS_DATA_VELOCITY]; - key->rot = pm->cur[BPHYS_DATA_ROTATION]; + key->co = cur[BPHYS_DATA_LOCATION]; + key->vel = cur[BPHYS_DATA_VELOCITY]; + key->rot = cur[BPHYS_DATA_ROTATION]; key->ftime = (float)pm->frame; key->time = &key->ftime; - BKE_ptcache_mem_pointers_incr(pm); + BKE_ptcache_mem_pointers_incr(cur); point->totkey++; } diff --git a/source/blender/editors/physics/particle_edit_undo.c b/source/blender/editors/physics/particle_edit_undo.c index a4fcfa93a60..7523571733e 100644 --- a/source/blender/editors/physics/particle_edit_undo.c +++ b/source/blender/editors/physics/particle_edit_undo.c @@ -166,18 +166,19 @@ static void undoptcache_to_editcache(PTCacheUndo *undo, PTCacheEdit *edit) for (i = 0; i < BPHYS_TOT_DATA; i++) { pm->data[i] = MEM_dupallocN(pm->data[i]); } - BKE_ptcache_mem_pointers_init(pm); + void *cur[BPHYS_TOT_DATA]; + BKE_ptcache_mem_pointers_init(pm, cur); LOOP_POINTS { LOOP_KEYS { if ((int)key->ftime == (int)pm->frame) { - key->co = pm->cur[BPHYS_DATA_LOCATION]; - key->vel = pm->cur[BPHYS_DATA_VELOCITY]; - key->rot = pm->cur[BPHYS_DATA_ROTATION]; + key->co = cur[BPHYS_DATA_LOCATION]; + key->vel = cur[BPHYS_DATA_VELOCITY]; + key->rot = cur[BPHYS_DATA_ROTATION]; key->time = &key->ftime; } } - BKE_ptcache_mem_pointers_incr(pm); + BKE_ptcache_mem_pointers_incr(cur); } } } |