diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-05-16 16:34:43 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-05-16 16:36:29 +0300 |
commit | 26b232318930739a73d88afc9aaca7992301f03a (patch) | |
tree | 7850d9aba71773670b19a25fd277ef61e1cedb9d /source/blender/imbuf/intern/colormanagement.c | |
parent | 8be9d68dd42d6831675356bfa0e1bf9274680df3 (diff) |
Fix memory leak when saving OpenEXR files
It is not a good idea to:
1. Duplicate metadata to self
2. Ignore the fact that something might have had metadata already.
Also moved metadata copy to a preparation function, so it is
never lost.
Diffstat (limited to 'source/blender/imbuf/intern/colormanagement.c')
-rw-r--r-- | source/blender/imbuf/intern/colormanagement.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c index cdb8f2c6fa2..a4d5da9993a 100644 --- a/source/blender/imbuf/intern/colormanagement.c +++ b/source/blender/imbuf/intern/colormanagement.c @@ -2065,6 +2065,10 @@ ImBuf *IMB_colormanagement_imbuf_for_write(ImBuf *ibuf, bool save_as_render, boo } } + if (colormanaged_ibuf != ibuf) { + IMB_metadata_copy(colormanaged_ibuf, ibuf); + } + return colormanaged_ibuf; } |