From: Pierre d'Herbemont Date: Wed, 16 Jul 2008 18:49:23 +0000 (+0200) Subject: qtcapture: Don't release objects when libvlc quit, else we may loose our main thread... X-Git-Tag: 0.9.0-test3~422 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=bd4bd54dc68f76525ede8700361dc50e5872d376;p=vlc qtcapture: Don't release objects when libvlc quit, else we may loose our main thread, and dead lock. --- 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];