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:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-04-30 16:12:55 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-04-30 16:13:49 +0400
commit1b9feb04ab87e73482a6491569b4518aa6a54c1b (patch)
tree2b4c1bfed6141820c220d0643ddb051089156708 /source/blender/editors/space_node/node_edit.c
parent6ab3a2f8a454aa47e4d64b6d1320dfc0c16546df (diff)
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!
Diffstat (limited to 'source/blender/editors/space_node/node_edit.c')
-rw-r--r--source/blender/editors/space_node/node_edit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 677b5c24023..c7297f33322 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);