Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesrna/intern/rna_image_api.c')
-rw-r--r--source/blender/makesrna/intern/rna_image_api.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_image_api.c b/source/blender/makesrna/intern/rna_image_api.c
index 92e3254765c..55d365f9827 100644
--- a/source/blender/makesrna/intern/rna_image_api.c
+++ b/source/blender/makesrna/intern/rna_image_api.c
@@ -25,7 +25,9 @@
#ifdef RNA_RUNTIME
# include "BKE_image.h"
+# include "BKE_image_format.h"
# include "BKE_main.h"
+# include "BKE_scene.h"
# include <errno.h>
# include "IMB_colormanagement.h"
@@ -68,19 +70,23 @@ static void rna_Image_save_render(
else {
ImBuf *write_ibuf;
- write_ibuf = IMB_colormanagement_imbuf_for_write(
- ibuf, true, true, &scene->view_settings, &scene->display_settings, &scene->r.im_format);
+ ImageFormatData image_format;
+ BKE_image_format_init_for_write(&image_format, scene, NULL);
- write_ibuf->planes = scene->r.im_format.planes;
+ write_ibuf = IMB_colormanagement_imbuf_for_write(ibuf, true, true, &image_format);
+
+ write_ibuf->planes = image_format.planes;
write_ibuf->dither = scene->r.dither_intensity;
- if (!BKE_imbuf_write(write_ibuf, path, &scene->r.im_format)) {
+ if (!BKE_imbuf_write(write_ibuf, path, &image_format)) {
BKE_reportf(reports, RPT_ERROR, "Could not write image: %s, '%s'", strerror(errno), path);
}
if (write_ibuf != ibuf) {
IMB_freeImBuf(write_ibuf);
}
+
+ BKE_image_format_free(&image_format);
}
BKE_image_release_ibuf(image, ibuf, lock);