[vlc-commits] vout/ios: Fix crash due to unexpected _eaglEnabled state
Marvin Scholz
git at videolan.org
Mon Jan 21 14:31:56 CET 2019
vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Sat Jan 19 15:11:15 2019 +0100| [4d5f4b1ccbd7698ea672ac8d10183f6ed67a1e0d] | committer: Thomas Guillem
vout/ios: Fix crash due to unexpected _eaglEnabled state
Fix videolan/VLCKit#221
Signed-off-by: Thomas Guillem <thomas at gllm.fr>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4d5f4b1ccbd7698ea672ac8d10183f6ed67a1e0d
---
modules/video_output/ios.m | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/modules/video_output/ios.m b/modules/video_output/ios.m
index 7c072f6c78..1a04cfabb0 100644
--- a/modules/video_output/ios.m
+++ b/modules/video_output/ios.m
@@ -763,13 +763,15 @@ static void GLESSwap(vlc_gl_t *gl)
{
_appActive = NO;
- if (_eaglEnabled)
- {
- /* Wait for the vout to unlock the eagl context before releasing
- * it. */
- while (_gl_attached)
- vlc_cond_wait(&_gl_attached_wait, &_mutex);
-
+ /* Wait for the vout to unlock the eagl context before releasing
+ * it. */
+ while (_gl_attached && _eaglEnabled)
+ vlc_cond_wait(&_gl_attached_wait, &_mutex);
+
+ /* _eaglEnabled can change during the vlc_cond_wait
+ * as the mutex is unlocked during that, so this check
+ * has to be done after the vlc_cond_wait! */
+ if (_eaglEnabled) {
[self flushEAGLLocked];
_eaglEnabled = NO;
}
More information about the vlc-commits
mailing list