diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-02-13 16:31:02 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-02-13 16:31:02 +0400 |
commit | 910f4df45d5096c3ce326860b4d919a1964468ac (patch) | |
tree | abc5cfacf8116eaa3fd6b476d86a79ed2186daf7 /source/blender/blenkernel/tracking_private.h | |
parent | 83617d24d536ec234bbe53b8b0fbcb76e7b5b3ee (diff) |
Fix race condition between tracking thread and tracks map sync
This might have been a reason of bug T38281.
Diffstat (limited to 'source/blender/blenkernel/tracking_private.h')
-rw-r--r-- | source/blender/blenkernel/tracking_private.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/tracking_private.h b/source/blender/blenkernel/tracking_private.h index 3245fe5fbd5..981b7951097 100644 --- a/source/blender/blenkernel/tracking_private.h +++ b/source/blender/blenkernel/tracking_private.h @@ -35,6 +35,8 @@ #ifndef __TRACKING_PRIVATE_H__ #define __TRACKING_PRIVATE_H__ +#include "BLI_threads.h" + struct GHash; struct MovieTracking; struct MovieTrackingMarker; @@ -54,6 +56,9 @@ typedef struct TracksMap { struct GHash *hash; int ptr; + + /* Spin lock is used to sync context during tracking. */ + SpinLock spin_lock; } TracksMap; struct TracksMap *tracks_map_new(const char *object_name, bool is_camera, int num_tracks, int customdata_size); |