Fix #125490: Scene strip incorrectly rendered as solid view.

Prevent VSE cache returning image when running render job.

Previously, before render job was started, cache was cleared, but since
disk cache is not cleared, it returned an image. Now cache is not
cleared, but it does not return or store images when rendering.

Pull Request: https://projects.blender.org/blender/blender/pulls/125947
This commit is contained in:
Richard Antalik
2024-08-07 15:22:37 +02:00
committed by Richard Antalik
parent 5a9fe638de
commit 5ecb70964e
2 changed files with 2 additions and 8 deletions

View File

@@ -1024,12 +1024,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
/* flush sculpt and editmode changes */
ED_editors_flush_edits_ex(bmain, true, false);
/* cleanup sequencer caches before starting user triggered render.
* otherwise, invalidated cache entries can make their way into
* the output rendering. We can't put that into RE_RenderFrame,
* since sequence rendering can call that recursively... (peter) */
SEQ_cache_cleanup(scene);
/* store spare
* get view3d layer, local layer, make this nice api call to render
* store spare */

View File

@@ -746,7 +746,7 @@ void seq_cache_thumbnail_cleanup(Scene *scene, rctf *r_view_area_safe)
ImBuf *seq_cache_get(const SeqRenderData *context, Sequence *seq, float timeline_frame, int type)
{
if (context->skip_cache || context->is_proxy_render || !seq) {
if (context->skip_cache || context->is_proxy_render || context->for_render || !seq) {
return nullptr;
}
@@ -866,7 +866,7 @@ void seq_cache_thumbnail_put(const SeqRenderData *context,
void seq_cache_put(
const SeqRenderData *context, Sequence *seq, float timeline_frame, int type, ImBuf *i)
{
if (i == nullptr || context->skip_cache || context->is_proxy_render || !seq) {
if (i == nullptr || context->skip_cache || context->is_proxy_render || context->for_render || !seq) {
return;
}