Commit: d4b5dd31a360313734f78a112daf4fd8f26fceb5 Author: Sergey Sharybin Date: Wed Jul 29 11:59:29 2015 +0200 Branches: master https://developer.blender.org/rBd4b5dd31a360313734f78a112daf4fd8f26fceb5
ImBuf: Fixes for openexr images - Fixed crash loading multilayer EXR - Fixed another memory leak loading multilayer EXR =================================================================== M source/blender/imbuf/intern/openexr/openexr_api.cpp =================================================================== diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp index 33555f0..e3c0273 100644 --- a/source/blender/imbuf/intern/openexr/openexr_api.cpp +++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp @@ -1560,7 +1560,6 @@ static ExrHandle *imb_exr_begin_read_mem(IStream &file_stream, MultiPartInputFil std::vector<MultiViewChannelName> channels; GetChannelsInMultiPartFile(*data->ifile, channels); - data->multiView = new StringVector(); imb_exr_get_views(*data->ifile, *data->multiView); for (size_t i = 0; i < channels.size(); i++) { @@ -2048,13 +2047,19 @@ struct ImBuf *imb_load_openexr(const unsigned char *mem, size_t size, int flags, } } + /* file is no longer needed */ + delete membuf; + delete file; } } + else { + delete membuf; + delete file; + } + if (flags & IB_alphamode_detect) ibuf->flags |= IB_alphamode_premul; } - delete file; - delete membuf; return(ibuf); } catch (const std::exception& exc) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs