vlc/vlc-3.0 | branch: master | Thomas Guillem <[email protected]> | Tue Mar 20 
14:43:25 2018 +0100| [4addad988ca6e5f9f79b993981a10348bc9dd636] | committer: 
Thomas Guillem

qt: workaround "adjust" filter not working on WIN32

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=4addad988ca6e5f9f79b993981a10348bc9dd636
---

 modules/gui/qt/components/extended_panels.cpp | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/modules/gui/qt/components/extended_panels.cpp 
b/modules/gui/qt/components/extended_panels.cpp
index bdd8bf1608..62152aff28 100644
--- a/modules/gui/qt/components/extended_panels.cpp
+++ b/modules/gui/qt/components/extended_panels.cpp
@@ -303,6 +303,23 @@ static QString ChangeFiltersString( struct intf_thread_t 
*p_intf, const char *ps
     else if (!b_add)
         list.removeAll( psz_name );
 
+#ifdef _WIN32
+    /* VLC 3.x HACK: "adjust" d3d* filters can't work with other SW filters.
+     * There is not way to fix it until VLC 4.0. As a workaround, force the
+     * adjust filter to be added at the end of the list. Therefore the SW
+     * "adjust" filter will be used since the previous filter will be SW. */
+    if( b_add && strcmp( psz_filter_type, "video-filter" ) == 0
+     && strcmp( psz_name, "adjust" ) != 0 )
+    {
+        QList<QString>::iterator it = std::find(list.begin(), list.end(), 
"adjust");
+        if( it != list.end() )
+        {
+            list.erase(it);
+            list << "adjust";
+        }
+    }
+#endif
+
     free( psz_chain );
 
     return list.join( ":" );

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to