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-06-27 13:48:54 +0400
committerTon Roosendaal <ton@blender.org>2006-06-27 13:48:54 +0400
commitf7c9c9987763bad926ffde91943d9db8964d4388 (patch)
tree2c1326d9322a8fcdf658439692a81aff7ed4cb0c
parent605388b44949ce10070b5e2178aea65a11667e54 (diff)
Bugfixes from own collection:
- when renderwin exists, but not used for render, the ESC timer check still could return ESC event, due to missing flag clearing. (For example in sequencer, a scene strip did not update on frame advance) - option 'single layer' set in combination with render "Do Sequence" didn't free the pushed layers.
-rw-r--r--source/blender/render/intern/source/pipeline.c3
-rw-r--r--source/blender/src/renderwin.c4
-rw-r--r--source/blender/src/sequence.c2
3 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 6b02a41cc8d..6643d28d69b 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -181,6 +181,9 @@ static void free_render_result(RenderResult *res)
/* all layers except the active one get temporally pushed away */
static void push_render_result(Render *re)
{
+ /* officially pushed result should be NULL... error can happen with do_seq */
+ free_render_result(re->pushedresult);
+
re->pushedresult= re->result;
re->result= NULL;
}
diff --git a/source/blender/src/renderwin.c b/source/blender/src/renderwin.c
index 7e78501ed4e..1d1eca59696 100644
--- a/source/blender/src/renderwin.c
+++ b/source/blender/src/renderwin.c
@@ -733,7 +733,6 @@ static void renderwin_init_display_cb(RenderResult *rr)
}
renderwin_reset_view(render_win);
- render_win->flags&= ~RW_FLAGS_ESCAPE;
render_win->active= 1;
}
/* make sure we are in normal draw again */
@@ -1165,6 +1164,9 @@ void BIF_init_render_callbacks(Render *re, int do_display)
RE_error_cb(re, error_cb);
G.afbreek= 0;
+ if(render_win)
+ render_win->flags &= ~RW_FLAGS_ESCAPE;
+
/* start esc timer. ensure it happens once only */
if(esc_timer_set==0)
init_test_break_callback();
diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c
index 97d92110296..b67951b3a1c 100644
--- a/source/blender/src/sequence.c
+++ b/source/blender/src/sequence.c
@@ -903,7 +903,7 @@ static void do_build_seq_ibuf(Sequence * seq, int cfra)
if(G.rendering)
re= RE_NewRender(" do_build_seq_ibuf");
else
- re= RE_NewRender(seq->scene->id.name);
+ re= RE_NewRender(sce->id.name);
/* prevent eternal loop */
doseq= sce->r.scemode & R_DOSEQ;