diff options
Diffstat (limited to 'source/blender/editors/space_clip/tracking_ops_solve.c')
-rw-r--r-- | source/blender/editors/space_clip/tracking_ops_solve.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/space_clip/tracking_ops_solve.c b/source/blender/editors/space_clip/tracking_ops_solve.c index 96b00ec5463..1d2fc239a89 100644 --- a/source/blender/editors/space_clip/tracking_ops_solve.c +++ b/source/blender/editors/space_clip/tracking_ops_solve.c @@ -50,6 +50,7 @@ /********************** solve camera operator *********************/ typedef struct { + struct wmWindowManager *wm; Scene *scene; MovieClip *clip; MovieClipUser user; @@ -78,6 +79,7 @@ static bool solve_camera_initjob( /* Could fail if footage uses images with different sizes. */ BKE_movieclip_get_size(clip, &sc->user, &width, &height); + scj->wm = CTX_wm_manager(C); scj->clip = clip; scj->scene = scene; scj->reports = op->reports; @@ -88,6 +90,8 @@ static bool solve_camera_initjob( tracking->stats = MEM_callocN(sizeof(MovieTrackingStats), "solve camera stats"); + WM_set_locked_interface(scj->wm, true); + return true; } @@ -114,6 +118,8 @@ static void solve_camera_freejob(void *scv) MovieClip *clip = scj->clip; int solved; + WM_set_locked_interface(scj->wm, false); + if (!scj->context) { /* job weren't fully initialized due to some error */ MEM_freeN(scj); |