From bd4bd54dc68f76525ede8700361dc50e5872d376 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Wed, 16 Jul 2008 20:49:23 +0200 Subject: [PATCH] qtcapture: Don't release objects when libvlc quit, else we may loose our main thread, and dead lock. --- modules/access/qtcapture.m | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/access/qtcapture.m b/modules/access/qtcapture.m index fba2fbe7af..78fb604906 100644 --- a/modules/access/qtcapture.m +++ b/modules/access/qtcapture.m @@ -317,10 +317,16 @@ static void Close( vlc_object_t *p_this ) demux_t *p_demux = (demux_t*)p_this; demux_sys_t *p_sys = p_demux->p_sys; - [p_sys->session stopRunning]; - [p_sys->output release]; - [p_sys->session release]; - [p_sys->device release]; + /* Hack: if libvlc was killed, main interface thread was, + * and poor QTKit needs it, so don't tell him. + * Else we dead lock. */ + if( vlc_object_alive(p_this->p_libvlc)) + { + [p_sys->session stopRunning]; + [p_sys->output release]; + [p_sys->session release]; + [p_sys->device release]; + } free( p_sys ); [pool release]; -- 2.39.2