Changeset View
Changeset View
Standalone View
Standalone View
source/blender/sequencer/intern/proxy.c
| Show First 20 Lines • Show All 543 Lines • ▼ Show 20 Lines | for (timeline_frame = seq->startdisp + seq->startstill; | ||||
| *do_update = true; | *do_update = true; | ||||
| if (*stop || G.is_break) { | if (*stop || G.is_break) { | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| static bool seq_orig_free_anims(Sequence *seq_iter, void *data) | |||||
| { | |||||
| SessionUUID orig_seq_uuid = ((SeqIndexBuildContext *)data)->orig_seq_uuid; | |||||
| if (BLI_session_uuid_is_equal(&seq_iter->runtime.session_uuid, &orig_seq_uuid)) { | |||||
| for (StripAnim *sanim = seq_iter->anims.first; sanim; sanim = sanim->next) { | |||||
| IMB_close_anim_proxies(sanim->anim); | |||||
| } | |||||
| } | |||||
| return true; | |||||
| } | |||||
| void SEQ_proxy_rebuild_finish(SeqIndexBuildContext *context, bool stop) | void SEQ_proxy_rebuild_finish(SeqIndexBuildContext *context, bool stop) | ||||
| { | { | ||||
| if (context->index_context) { | if (context->index_context) { | ||||
| StripAnim *sanim; | StripAnim *sanim; | ||||
| for (sanim = context->seq->anims.first; sanim; sanim = sanim->next) { | for (sanim = context->seq->anims.first; sanim; sanim = sanim->next) { | ||||
| IMB_close_anim_proxies(sanim->anim); | IMB_close_anim_proxies(sanim->anim); | ||||
| } | } | ||||
| /* `context->seq_orig` may have been removed during building. */ | |||||
| SEQ_for_each_callback(&context->scene->ed->seqbase, seq_orig_free_anims, context); | |||||
| IMB_anim_index_rebuild_finish(context->index_context, stop); | IMB_anim_index_rebuild_finish(context->index_context, stop); | ||||
| } | } | ||||
| seq_free_sequence_recurse(NULL, context->seq, true); | seq_free_sequence_recurse(NULL, context->seq, true); | ||||
| MEM_freeN(context); | MEM_freeN(context); | ||||
| } | } | ||||
| Show All 31 Lines | |||||