Commit: 1b9feb04ab87e73482a6491569b4518aa6a54c1b
Author: Sergey Sharybin
Date:   Wed Apr 30 18:12:55 2014 +0600
https://developer.blender.org/rB1b9feb04ab87e73482a6491569b4518aa6a54c1b

Fix T38245: Render slot buffer gets deleted in compositor when input is an image

This was more like a TODO than a bug, but wasn't difficult to support.

Need to backup image slots before doing re-compo in nodes editor.

If something breaks, lease poke me!

===================================================================

M       source/blender/editors/space_node/node_edit.c

===================================================================

diff --git a/source/blender/editors/space_node/node_edit.c 
b/source/blender/editors/space_node/node_edit.c
index 677b5c2..c7297f3 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -257,7 +257,6 @@ static void compo_startjob(void *cjv, short *stop, short 
*do_update, float *prog
        ntree->udh = cj;
 
        // XXX BIF_store_spare();
-       
        /* 1 is do_previews */
        ntreeCompositExecTree(cj->scene, ntree, &cj->scene->r, false, true, 
&scene->view_settings, &scene->display_settings);
 
@@ -278,6 +277,7 @@ void ED_node_composite_job(const bContext *C, struct 
bNodeTree *nodetree, Scene
 {
        wmJob *wm_job;
        CompoJob *cj;
+       Scene *scene = CTX_data_scene(C);
 
        /* to fix bug: [#32272] */
        if (G.is_rendering) {
@@ -288,12 +288,14 @@ void ED_node_composite_job(const bContext *C, struct 
bNodeTree *nodetree, Scene
        G.is_break = false;
 #endif
 
+       BKE_image_backup_render(scene, 
BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"));
+
        wm_job = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), scene_owner, 
"Compositing",
                             WM_JOB_EXCL_RENDER | WM_JOB_PROGRESS, 
WM_JOB_TYPE_COMPOSITE);
        cj = MEM_callocN(sizeof(CompoJob), "compo job");
 
        /* customdata for preview thread */
-       cj->scene = CTX_data_scene(C);
+       cj->scene = scene;
        cj->ntree = nodetree;
        cj->recalc_flags = compo_get_recalc_flags(C);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to