From 5253760be29bc5ba22a6c3c4318ae4ec12627611 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Mon, 20 Oct 2008 21:49:19 +0300 Subject: [PATCH] Remove recursive/deadlocking calls in Qt4 embedded video (refs #2136). The vout code invokes the Qt4 video widget through the Qt4 window submodule. Hence, the video widget cannot call the vout window code. This is where the embedded video crashes seem to come from. Unfortunately, this commit trades the deadlock (on 1.0) or the crash (on 0.9) for an assertion failure. --- modules/gui/qt4/components/interface_widgets.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/modules/gui/qt4/components/interface_widgets.cpp b/modules/gui/qt4/components/interface_widgets.cpp index 0136648110..cddd823c23 100644 --- a/modules/gui/qt4/components/interface_widgets.cpp +++ b/modules/gui/qt4/components/interface_widgets.cpp @@ -106,13 +106,10 @@ void VideoWidget::paintEvent(QPaintEvent *ev) #endif } -/* Kill the vout at Destruction */ VideoWidget::~VideoWidget() { - if( !p_vout ) - return; - if( vout_Control( p_vout, VOUT_CLOSE ) != VLC_SUCCESS ) - vout_Control( p_vout, VOUT_REPARENT ); + /* Ensure we are not leaking the video output. This would crash. */ + assert( !p_vout ); } /** -- 2.11.4.GIT