diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-09-20 13:28:52 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-09-20 13:28:52 +0400 |
commit | aa077fecd71a3553eda90ecc39267107f396e513 (patch) | |
tree | 3c5edc9f36d0a24feb7d9f8d429ad0fbc55ba228 /source/blender/render | |
parent | 37b82a2d260edc1e719cba845360c0c40a24e241 (diff) |
Fix for displacement bake buffer might be allocated twice
Issue was caused by missing NULL-pointer check in user-data
initialization.
This issue might have lead to wrong displacement map being
baked.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/bake.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/bake.c b/source/blender/render/intern/source/bake.c index 564cca09834..cd72c6af057 100644 --- a/source/blender/render/intern/source/bake.c +++ b/source/blender/render/intern/source/bake.c @@ -828,8 +828,11 @@ static void shade_tface(BakeShade *bs) } } - if (bs->use_displacement_buffer) - userdata->displacement_buffer = MEM_callocN(sizeof(float) * bs->rectx * bs->recty, "BakeDisp"); + if (bs->use_displacement_buffer) { + if (userdata->displacement_buffer == NULL) { + userdata->displacement_buffer = MEM_callocN(sizeof(float) * bs->rectx * bs->recty, "BakeDisp"); + } + } bs->ibuf->userdata = userdata; |