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:
authorTon Roosendaal <ton@blender.org>2006-12-21 22:37:53 +0300
committerTon Roosendaal <ton@blender.org>2006-12-21 22:37:53 +0300
commitac37a156754e7fdcf951f50d7318e041bd6cb8c7 (patch)
treecd4b53afc8a0b87c5583ba9ee25a905cb488679e /source/blender/imbuf
parent67769dc08034fdb7b00b12b0ee5fc86797343c6d (diff)
"Save Buffers" fix: when you ESC from rendering, it now saves empty
tiles in the file, that read back fast as black. This also solves crashes on partial written files, when trying to read them.
Diffstat (limited to 'source/blender/imbuf')
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_api.cpp5
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_multi.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index c035862c23f..b39700e019c 100644
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -526,6 +526,11 @@ void IMB_exr_set_channel(void *handle, char *layname, char *passname, int xstrid
printf("IMB_exrtile_set_channel error %s\n", name);
}
+void IMB_exrtile_clear_channels(void *handle)
+{
+ ExrHandle *data= (ExrHandle *)handle;
+ BLI_freelistN(&data->channels);
+}
void IMB_exrtile_write_channels(void *handle, int partx, int party)
{
diff --git a/source/blender/imbuf/intern/openexr/openexr_multi.h b/source/blender/imbuf/intern/openexr/openexr_multi.h
index b9aa81e81da..ca4f7405f44 100644
--- a/source/blender/imbuf/intern/openexr/openexr_multi.h
+++ b/source/blender/imbuf/intern/openexr/openexr_multi.h
@@ -53,6 +53,7 @@ void IMB_exr_set_channel (void *handle, char *layname, char *passname, int xst
void IMB_exr_read_channels (void *handle);
void IMB_exr_write_channels (void *handle);
void IMB_exrtile_write_channels (void *handle, int partx, int party);
+void IMB_exrtile_clear_channels (void *handle);
void IMB_exr_multilayer_convert (void *handle, void *base,
void * (*addlayer)(void *base, char *str),
@@ -77,6 +78,7 @@ void IMB_exr_set_channel (void *handle, char *layname, char *channame, int xst
void IMB_exr_read_channels (void *handle) {}
void IMB_exr_write_channels (void *handle) {}
void IMB_exrtile_write_channels (void *handle, int partx, int party) {}
+void IMB_exrtile_clear_channels (void *handle) {}
void IMB_exr_multilayer_convert (void *handle, void *base,
void * (*addlayer)(void *base, char *str),