Rémi Denis-Courmont <r...@remlab.net> wrote: > As far as I know, loading GTK2 and GTK3 in the same process is not > supported by the GTK libraries (much like you can't have multiple Qt > versions). There's nothing for VLC or even gtk3-nocsd to do here. > > You just can't load gtk3-nocsd in a program that uses GTK2.
I'm not trying to load GTK2 and GTK3 in the same process. What is effectively happening is loading both GTK2 *and* gtk3-nocsd in the same process, because /etc/X11/Xsession.d/51gtk3-nocsd-detect explicitly sets LD_PRELOAD (and, AFAIK, this is the only way to load libgtk3-nocsd.so w/o relinking everything. Take a look at the output of ldd for a binary linked agains GTK2: > $ ldd /usr/bin/gtk-demo | grep gtk > libgtk3-nocsd.so.0 > => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f10b409c000) > libgtk-x11-2.0.so.0 > => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007f10b3b9e000) If the above looks incorrect to you, then gtk3-nocsd might be breaking *any* executable/shared object linked against GTK2. Regards, Andrey.