Fix T84539: cryptomatte metadata lost when using save buffers option
This commit is contained in:
@@ -1229,6 +1229,10 @@ void render_result_exr_file_begin(Render *re, RenderEngine *engine)
|
||||
/* end write of exr tile file, read back first sample */
|
||||
void render_result_exr_file_end(Render *re, RenderEngine *engine)
|
||||
{
|
||||
/* Preserve stamp data. */
|
||||
struct StampData *stamp_data = re->result->stamp_data;
|
||||
re->result->stamp_data = NULL;
|
||||
|
||||
/* Close EXR files. */
|
||||
for (RenderResult *rr = re->result; rr; rr = rr->next) {
|
||||
LISTBASE_FOREACH (RenderLayer *, rl, &rr->layers) {
|
||||
@@ -1243,6 +1247,7 @@ void render_result_exr_file_end(Render *re, RenderEngine *engine)
|
||||
BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
|
||||
render_result_free_list(&re->fullresult, re->result);
|
||||
re->result = render_result_new(re, &re->disprect, RR_USE_MEM, RR_ALL_LAYERS, RR_ALL_VIEWS);
|
||||
re->result->stamp_data = stamp_data;
|
||||
BLI_rw_mutex_unlock(&re->resultmutex);
|
||||
|
||||
LISTBASE_FOREACH (RenderLayer *, rl, &re->result->layers) {
|
||||
|
Reference in New Issue
Block a user