diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 7cb8351cd12..e5719bf9dd9 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -2903,12 +2903,13 @@ static int node_read_fullsamplelayers_exec(bContext *C, wmOperator *UNUSED(op)) Render *re= RE_NewRender(curscene->id.name); WM_cursor_wait(1); - RE_MergeFullSample(re, bmain, curscene, snode->nodetree); - snode_notify(C, snode); - snode_dag_update(C, snode); - WM_cursor_wait(0); + + /* note we are careful to send the right notifier, as otherwise the + compositor would reexecute and overwrite the full sample result */ + WM_event_add_notifier(C, NC_SCENE|ND_COMPO_RESULT, NULL); + return OPERATOR_FINISHED; } diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index 0990afa4fe6..9c4581a43da 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -178,6 +178,9 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn) case ND_FRAME: ED_area_tag_refresh(sa); break; + case ND_COMPO_RESULT: + ED_area_tag_redraw(sa); + break; case ND_TRANSFORM_DONE: if(type==NTREE_COMPOSIT) { if(snode->flag & SNODE_AUTO_RENDER) {