From b8c5af45bad3f729816a9fc16e3f0a318c3aacc7 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 2 Nov 2023 18:35:35 +0100 Subject: [PATCH 1/3] Fix: Use native path separator for node tools redo panel title Use the platform dependent `SEP_STR` instead of a hardcoded back slash. --- source/blender/editors/geometry/node_group_operator.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/geometry/node_group_operator.cc b/source/blender/editors/geometry/node_group_operator.cc index d5d2fc3a863..8e486fe9020 100644 --- a/source/blender/editors/geometry/node_group_operator.cc +++ b/source/blender/editors/geometry/node_group_operator.cc @@ -553,7 +553,7 @@ static std::string run_node_group_get_name(wmOperatorType * /*ot*/, PointerRNA * ptr, "relative_asset_identifier", nullptr, 0, &len); BLI_SCOPED_DEFER([&]() { MEM_SAFE_FREE(library_asset_identifier); }) StringRef ref(library_asset_identifier, len); - return ref.drop_prefix(ref.find_last_of('/') + 1); + return ref.drop_prefix(ref.find_last_of(SEP_STR) + 1); } void GEOMETRY_OT_execute_node_group(wmOperatorType *ot) From 937b12e9830af26527781a2d165053fe881dd150 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 2 Nov 2023 18:36:21 +0100 Subject: [PATCH 2/3] Fix: Missing include in previous commit --- source/blender/editors/geometry/node_group_operator.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/editors/geometry/node_group_operator.cc b/source/blender/editors/geometry/node_group_operator.cc index 8e486fe9020..5fea392b30e 100644 --- a/source/blender/editors/geometry/node_group_operator.cc +++ b/source/blender/editors/geometry/node_group_operator.cc @@ -6,6 +6,7 @@ * \ingroup edcurves */ +#include "BLI_path_util.h" #include "BLI_string.h" #include "ED_curves.hh" From 5d765a0d31a1c44c4bf6d7bdc1651e3a6127dc8d Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Fri, 3 Nov 2023 02:01:17 +0100 Subject: [PATCH 3/3] Fix #114342: Crash when opening too many movies at once Adding strips or changing filepaths caused thatde movie files were loaded, but memory was only released after new frame was rendered. Since FFmpeg can take a lot of memory per strip, this can cause crash. Free memory for each strip immediately after it is not needed after these operations. Pull Request: https://projects.blender.org/blender/blender/pulls/114381 --- source/blender/sequencer/intern/strip_add.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/sequencer/intern/strip_add.cc b/source/blender/sequencer/intern/strip_add.cc index 941b8e85c0d..8ed9ef6e154 100644 --- a/source/blender/sequencer/intern/strip_add.cc +++ b/source/blender/sequencer/intern/strip_add.cc @@ -511,6 +511,8 @@ Sequence *SEQ_add_movie_strip(Main *bmain, Scene *scene, ListBase *seqbase, SeqL seq_add_set_name(scene, seq, load_data); seq_add_generic_update(scene, seq); + /* Prevent high memory usage when adding many files at once. */ + SEQ_relations_sequence_free_anim(seq); MEM_freeN(anim_arr); return seq; } @@ -626,6 +628,9 @@ void SEQ_add_reload_new_file(Main *bmain, Scene *scene, Sequence *seq, const boo if (seq->len < 0) { seq->len = 0; } + + /* Prevent high memory usage when reloading many files at once. */ + SEQ_relations_sequence_free_anim(seq); break; } case SEQ_TYPE_MOVIECLIP: