[Bf-blender-cvs] [5d42024be67] blender-v2.83-release: Fix T79676: Video Sequencer image sequence strip source path breaks when saving with 'Remap Relative' option
Philipp Oeser
noreply at git.blender.org
Wed Aug 12 09:44:11 CEST 2020
Commit: 5d42024be6765bfd2f7dfe69dab97c7101e28dae
Author: Philipp Oeser
Date: Tue Aug 11 14:31:21 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB5d42024be6765bfd2f7dfe69dab97c7101e28dae
Fix T79676: Video Sequencer image sequence strip source path breaks when
saving with 'Remap Relative' option
Caused by rBf7386b97571e.
Logic in BKE_bpath_traverse_main calls the callback multiple times [as
often as there are images in the strip].
Prior to above commit, the callback was
'bpath_relative_convert_visit_cb' [this one did not have this problem -
since it returned early if the path was already made relative once]
After rBf7386b97571e though, the 'bpath_relative_rebase_visit_cb' is
used [this one should not be entered multiple times, it would modifiy the
directy again and again].
Luckily, we have a flag (BKE_BPATH_TRAVERSE_SKIP_MULTIFILE) that can be
used to prevent this (this will take care of only calling the callback
once in BKE_bpath_traverse_main for the VSE case)
Could be backported to 2.83 I think.
Maniphest Tasks: T79676
Differential Revision: https://developer.blender.org/D8536
===================================================================
M source/blender/blenkernel/intern/bpath.c
===================================================================
diff --git a/source/blender/blenkernel/intern/bpath.c b/source/blender/blenkernel/intern/bpath.c
index d179bfbedfd..23708f15781 100644
--- a/source/blender/blenkernel/intern/bpath.c
+++ b/source/blender/blenkernel/intern/bpath.c
@@ -167,7 +167,7 @@ void BKE_bpath_relative_rebase(Main *bmain,
ReportList *reports)
{
BPathRebase_Data data = {NULL};
- const int flag = BKE_BPATH_TRAVERSE_SKIP_LIBRARY;
+ const int flag = (BKE_BPATH_TRAVERSE_SKIP_LIBRARY | BKE_BPATH_TRAVERSE_SKIP_MULTIFILE);
BLI_assert(basedir_src[0] != '\0');
BLI_assert(basedir_dst[0] != '\0');
More information about the Bf-blender-cvs
mailing list