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/intern/tracking_region_tracker.c | |
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/intern/tracking_region_tracker.c')
-rw-r--r-- | source/blender/blenkernel/intern/tracking_region_tracker.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/tracking_region_tracker.c b/source/blender/blenkernel/intern/tracking_region_tracker.c index 6a274921d44..7bada00655b 100644 --- a/source/blender/blenkernel/intern/tracking_region_tracker.c +++ b/source/blender/blenkernel/intern/tracking_region_tracker.c @@ -669,11 +669,10 @@ bool BKE_tracking_context_step(MovieTrackingContext *context) dst_pixel_x, dst_pixel_y); } -#pragma omp critical - { - tracking_insert_new_marker(context, track, marker, curfra, tracked, - frame_width, frame_height, dst_pixel_x, dst_pixel_y); - } + BLI_spin_lock(&context->tracks_map->spin_lock); + tracking_insert_new_marker(context, track, marker, curfra, tracked, + frame_width, frame_height, dst_pixel_x, dst_pixel_y); + BLI_spin_unlock(&context->tracks_map->spin_lock); ok = true; } |