diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-04-04 16:07:37 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-04-04 16:16:31 +0300 |
commit | c81eca3d986115ae8f3c542e9b00b89795233864 (patch) | |
tree | 78c10d967df0e3d8b84e2de74581a053cc80d44e /source/blender/blenkernel/intern/constraint.c | |
parent | 3c6deb69f79afd3c3483b7a2eafb28a24a050712 (diff) |
Fix T63276: crash deleting object with alembic constraint.
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index b22ffce5300..6d7765d4314 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -4572,10 +4572,12 @@ static void transformcache_evaluate(bConstraint *con, bConstraintOb *cob, ListBa const float frame = DEG_get_ctime(cob->depsgraph); const float time = BKE_cachefile_time_offset(cache_file, frame, FPS); - BKE_cachefile_ensure_handle(G.main, cache_file); + /* Must always load ABC handle on original. */ + CacheFile *cache_file_orig = (CacheFile *)DEG_get_original_id(&cache_file->id); + BKE_cachefile_ensure_handle(G.main, cache_file_orig); if (!data->reader) { - data->reader = CacheReader_open_alembic_object(cache_file->handle, + data->reader = CacheReader_open_alembic_object(cache_file_orig->handle, data->reader, cob->ob, data->object_path); |