[vlc-devel] commit: Ugly hack to prevent qt4-x11 from using alpha channel ( Rémi Denis-Courmont )

git version control git at videolan.org
Sun Nov 15 21:14:44 CET 2009

vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Nov 15 17:03:17 2009 +0200| [0d96c8d295b0745a44a8bb69db5979d1bf37a5e6] | committer: Rémi Denis-Courmont 

Ugly hack to prevent qt4-x11 from using alpha channel

This breaks our current Xlib XVideo and plain X11 outputs.
Qt4 would create an ARGB window for our embedded video. Then, the
Xlib plugins would raise BadMatch errors and VLC aborts. Starting
cairo-dock is an easy way to trigger this problem.
(With XCB plugins, we fail safe to OpenGL/GLX instead of crashing.)

We should instead handle ARGB visuals properly. But that would involve
more efforts, and would only enable plain X11, not XVideo anyway.

This should work around LP#416294.

This is ugly and not thread-safe. If you have a better idea, go ahead.
(cherry picked from commit c0ec5be56e71c273eef4faea8d927eeb3cbc7ec5)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0d96c8d295b0745a44a8bb69db5979d1bf37a5e6

 modules/gui/qt4/qt4.cpp |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
index a899a0d..f42f87d 100644
--- a/modules/gui/qt4/qt4.cpp
+++ b/modules/gui/qt4/qt4.cpp
@@ -284,6 +284,7 @@ static int Open( vlc_object_t *p_this )
         return VLC_EGENERIC;
     XCloseDisplay( p_display );
+    putenv( "XLIB_SKIP_ARGB_VISUALS=1" );
     /* Allocations of p_sys */

More information about the vlc-devel mailing list