Remove recursive/deadlocking calls in Qt4 embedded video (refs #2136).
authorRémi Denis-Courmont <rdenis@simphalempin.com>
Mon, 20 Oct 2008 18:49:19 +0000 (21:49 +0300)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Mon, 20 Oct 2008 19:22:00 +0000 (22:22 +0300)
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

index 0136648..cddd823 100644 (file)
@@ -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 );
 }
 
 /**