[vlc-devel] [PATCH] GUI-Qt: update components/extended_panels.cpp
Victorien Le Couviour--Tuffet
victorien.lecouviour.tuffet at gmail.com
Tue Apr 25 15:03:12 CEST 2017
Retrieve already loaded audio and video filters at window construction.
This fixes the bug occuring when enabling or disabling a filter from Qt:
it was rebuilding a filter chain adding or removing the concerned filter,
but as it didn't retrieved the ones that were already there (enabled through
command line), there were just thrown away.
---
modules/gui/qt/components/extended_panels.cpp | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/modules/gui/qt/components/extended_panels.cpp b/modules/gui/qt/components/extended_panels.cpp
index 39d88b90d3..e16db16c7b 100644
--- a/modules/gui/qt/components/extended_panels.cpp
+++ b/modules/gui/qt/components/extended_panels.cpp
@@ -99,6 +99,23 @@ static inline void setup_vfilter( intf_thread_t *p_intf, const char* psz_name, Q
setWidgetValue( ui.widget ); \
CONNECT( ui.widget, signal, this, updateFilterOptions() );
+static inline void
+retrieve_filters(intf_thread_t *intf,
+ vlc_object_t *obj, char *psz_filter_type)
+{
+ char *filters;
+
+ if (obj)
+ {
+ if ((filters = var_GetString(obj, psz_filter_type)))
+ {
+ config_PutPsz(intf, psz_filter_type, filters);
+ free(filters);
+ }
+ vlc_object_release(obj);
+ }
+}
+
ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget *_parent ) :
QObject( _parent ), p_intf( _p_intf )
{
@@ -225,6 +242,9 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget *_parent ) :
ui.cropBotPx, setDisabled( bool ) );
CONNECT( ui.leftRightCropSync, toggled( bool ),
ui.cropRightPx, setDisabled( bool ) );
+
+ retrieve_filters(p_intf, (vlc_object_t *)THEMIM->getAout(), "audio-filter");
+ retrieve_filters(p_intf, (vlc_object_t *)THEMIM->getVout(), "video-filter");
}
void ExtVideo::cropChange()
--
2.12.0
More information about the vlc-devel
mailing list