Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-03-14 17:16:56 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-03-14 17:18:43 +0300
commit96db46d17c77ed1a463d8926393ed27f9a4a038d (patch)
treec992278e559b5d7acbdfb00b37c666d36cd85c4d /source/blender/blenkernel/intern/movieclip.c
parentc65be83df0b67de2370ecfd738badaf70e94fd5a (diff)
Fix T62321: Crash on motion tracking when dopesheet open and deleting track
Need to ensure all dopesheet are properly tagged for update. The tricky part here is that due to the animation we need to keep movie clips covered by copy-on-write, but the interface uses an original clip to draw dopesheet. Use same idea of an active dependency graph as is done in other similar cases.
Diffstat (limited to 'source/blender/blenkernel/intern/movieclip.c')
-rw-r--r--source/blender/blenkernel/intern/movieclip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index bfa4c4ba068..e4d7af555ed 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -66,6 +66,7 @@
#include "IMB_moviecache.h"
#include "DEG_depsgraph.h"
+#include "DEG_depsgraph_query.h"
#ifdef WITH_OPENEXR
# include "intern/openexr/openexr_multi.h"
@@ -1720,6 +1721,10 @@ void BKE_movieclip_eval_update(struct Depsgraph *depsgraph, MovieClip *clip)
{
DEG_debug_print_eval(depsgraph, __func__, clip->id.name, clip);
BKE_tracking_dopesheet_tag_update(&clip->tracking);
+ if (DEG_is_active(depsgraph)) {
+ MovieClip *clip_orig = (MovieClip *)DEG_get_original_id(&clip->id);
+ BKE_tracking_dopesheet_tag_update(&clip_orig->tracking);
+ }
}
void BKE_movieclip_eval_selection_update(struct Depsgraph *depsgraph, MovieClip *clip)