[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