]> git.sesse.net Git - vlc/commit
--no-xlib: prevent use of XInitThreads() and hence Xlib
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 2 Jun 2010 18:30:49 +0000 (21:30 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 2 Jun 2010 18:30:49 +0000 (21:30 +0300)
commit95c95cc91ac583b76582b63dfd6c95ca5fdde592
treea1a66f966ea707b8cdeda09011b5ce0a06304cad
parentb4b9d3840f13781db372a7dcf4613d4a35d26784
--no-xlib: prevent use of XInitThreads() and hence Xlib

Certain LibVLC applications fail to call XInitThreads() before they
call XOpenDisplay(). Then VLC calls XInitThreads(). Then the
applications call XCloseDisplay(), which raises a segmentation fault.
In this case, Xlib tries acquire lock that was never created as the
Display ppinter was created before threaded Xlib mode was enabled.

These applications can now pass --no-xlib to libvlc_new(). This will
prevent any VLC Xlib-based plugin from being used. Currently, this
affects interfaces (not really an issue), PulseAudio (until Colin's
patch is merged upstream) and GLX (Xlib-based by design).

This will be necessary to address #3662.
modules/audio_output/pulse.c
modules/gui/hildon/maemo.c
modules/gui/qt4/qt4.cpp
modules/gui/skins2/x11/x11_factory.cpp
modules/video_output/xcb/glx.c
src/libvlc-module.c