[vlc-devel] KDE GUI platform

Rémi Denis-Courmont remi at remlab.net
Sun Jan 30 16:21:36 CET 2011


	Hello,

For quite a while, the Qt4 open & save file dialogs provided by the KDE GUI 
platform plugin have been causing a segmentation fault at exit:
https://bugs.kde.org/show_bug.cgi?id=234484

As of KDE 4.6, the same dialogs cause the VLC user interface to freeze for one 
minute. The root cause seems to be a longstanding bug in the QProcess class 
from Qt4 core. However, the faulty dialogs did not make use of QProcess until 
KDE version 4.6:
https://bugs.kde.org/show_bug.cgi?id=260719

There is a way to work around this bug in VLC: The SIGCHLD signal can be left 
unblocked in the VLC process. Unfortunately, this means that a number of 
system calls in the VLC process can be interrupted asynchronously. I tried to 
fix the most obvious cases of calling poll(). But this also affects some other 
system calls, and also code paths in underlying libraries. In a way, those are 
bugs in VLC and its libraries. And those bugs should be fixed so that LibVLC 
works fine (outside of VLC that is). However, from a pragmatic perspective, I 
cannot do it, and I strongly doubt anyone can.

In any case, this is yet another bug in the KDE plugins for Qt. From 
experience, the KDE project does not fix those bugs, as they only affect Qt 
but non-KDE applications. In this case, it's quite clear that Qt refuses to 
implement the correct solution (see kde-core-devel).

So I have forcefully disabled KDE within VLC as of version 1.1.7. That means 
VLC looks ugly in the KDE environment. But I cannot see any reliable 
alternative as long as KDE & Qt continue to ignore those bugs. And truth be 
told, I am really fed up working around KDE bugs; VLC has enough bugs of its 
own to deal with.

If you want to lobby them, feel free to do so. I gave up.

-- 
Rémi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis



More information about the vlc-devel mailing list