diff --git a/modules/video_output/apple/VLCVideoUIView.m b/modules/video_output/apple/VLCVideoUIView.m index 02e53c5467..4597b0e52c 100644 --- a/modules/video_output/apple/VLCVideoUIView.m +++ b/modules/video_output/apple/VLCVideoUIView.m @@ -293,6 +293,7 @@ dispatch_sync(_eventq, ^{ /* CADisplayLink will hold the send after creation, which is this view * so delete it before. */ + [_displayLink invalidate]; _displayLink = nil; /* The UIView must not be attached before releasing. Disable() is doing @@ -335,7 +336,7 @@ - (void)disable { - [_displayLink invalidate]; + [_displayLink removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode]; _last_ca_target_ts = VLC_TICK_INVALID; dispatch_async(dispatch_get_main_queue(), ^{