move QCoreApplication::addLibraryPath call from KApplication to KComponentData
Matthias Kretz
kretz at kde.org
Mon Nov 10 13:46:14 GMT 2008
On Monday 10 November 2008 12:07:59 Thiago Macieira wrote:
> On Monday 10 November 2008 10:05:30 Matthias Kretz wrote:
> > Hi,
> >
> > please review the attached patch. It makes the first KCD ensure that Qt
> > knows about KDE's Qt plugin paths. This is necessary for non-KDE sessions
> > where a KDE application that is not using KApplication is started.
>
> That means any non-KDE Qt application that loads a KDE plugin (such as
> Oxygen) will get this code run. I don't know if this was your intention,
> but I felt I needed to point out.
Yes, that was my intention. And BTW if a Qt-only app manages to load Oxygen
then it already has the KDE plugin path in its libraryPath.
> Also, the initialisation the way you did it with QBasicAtomicInt isn't
> thread- safe. You may as well use a simple boolean.
why? I thought
QBasicAtomicInt flag = Q_BASIC_ATOMIC_INITIALIZER(0);
void someFunction()
{
if (flag.testAndSetOrdered(0, 1)) {
// this is only reached once
}
}
If testAndSet is atomic (I don't even see the need for the memory barrier)
there's only one thread that can return true from the testAndSet call...
> What you're looking for is the Q_ONCE code that I have not added yet to Qt.
--
________________________________________________________
Matthias Kretz (Germany) <><
http://Vir.homelinux.org/
More information about the kde-core-devel
mailing list