[vlc-devel] [PATCH 2/2] Qt: do not use vlc_object_find_name to access vout filters

Jean-Baptiste Kempf jb at videolan.org
Sun Sep 22 19:01:53 CEST 2013


---
 modules/gui/qt4/components/extended_panels.cpp | 28 +++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/modules/gui/qt4/components/extended_panels.cpp b/modules/gui/qt4/components/extended_panels.cpp
index 532e811..d7990d6 100644
--- a/modules/gui/qt4/components/extended_panels.cpp
+++ b/modules/gui/qt4/components/extended_panels.cpp
@@ -85,11 +85,13 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget *_parent ) :
 {
     ui.setupUi( _parent );
 
+    vout_thread_t *p_vout = THEMIM->getVout();
+
 #define SETUP_VFILTER( widget ) \
     { \
-        vlc_object_t *p_obj = ( vlc_object_t * ) \
-            vlc_object_find_name( p_intf->p_libvlc, \
-                                  #widget ); \
+        vlc_object_t *p_obj = NULL; \
+        if( p_vout ) \
+            p_obj = vout_GetFilter( p_vout, #widget); \
         QCheckBox *checkbox = qobject_cast<QCheckBox*>( ui.widget##Enable ); \
         QGroupBox *groupbox = qobject_cast<QGroupBox*>( ui.widget##Enable ); \
         if( p_obj ) \
@@ -497,8 +499,15 @@ void ExtVideo::setWidgetValue( QObject *widget )
     QString option = OptionFromWidgetName( widget );
     //std::cout << "Option name: " << option.toStdString() << std::endl;
 
-    vlc_object_t *p_obj = ( vlc_object_t * )
-        vlc_object_find_name( p_intf->p_libvlc, qtu( module ) );
+    vlc_object_t *p_obj = NULL;
+
+    vout_thread_t *p_vout = THEMIM->getVout();
+
+    if( p_vout )
+    {
+        p_obj = vout_GetFilter( p_vout, qtu( module ) );
+    }
+
     int i_type;
     vlc_value_t val;
 
@@ -589,8 +598,13 @@ void ExtVideo::updateFilterOptions()
     QString option = OptionFromWidgetName( sender() );
     //std::cout << "Option name: " << option.toStdString() << std::endl;
 
-    vlc_object_t *p_obj = ( vlc_object_t * )
-        vlc_object_find_name( p_intf->p_libvlc, qtu( module ) );
+    vout_thread_t *p_vout = THEMIM->getVout();
+
+    vlc_object_t *p_obj = NULL;
+
+    if( p_vout )
+        p_obj = vout_GetFilter( p_vout, qtu( module ) );
+
     int i_type;
     bool b_is_command;
     if( !p_obj )
-- 
1.8.4




More information about the vlc-devel mailing list