kio/scheduler: Does not compile with Qt from 4.8 branch
Christoph Feck
christoph at maxiom.de
Sun Apr 24 15:42:22 BST 2011
On Sunday 24 April 2011 15:04:38 Thiago Macieira wrote:
> On Sunday, 24 de April de 2011 12:53:18 Christoph Feck wrote:
> > Hi,
> >
> > Qt 4.8 has been branched, and (early as I am :) I tried compiling KDE
> > with it. It already fails compiling kdelibs/kio/kio/scheduler.cpp
> > because of this error:
> >
> > /local/build/KDE/libs/kdelibs/kio/scheduler.moc:77:21: error: ‘class
> > KIO::Scheduler’ has no member named ‘schedulerPrivate’
> >
> > The issue is that moc now creates this code for the
> > Q_PRIVATE_SLOT(schedulerPrivate, void slotSlaveDied(KIO::Slave
*slave))
> > definition (and subsequent ones) in scheduler.h
> >
> > void KIO::Scheduler::qt_static_metacall(QObject *_o, QMetaObject::Call
> > _c, int _id, void **_a)
> > {
> >
> > if (_c == QMetaObject::InvokeMetaMethod) {
> >
> > Q_ASSERT(staticMetaObject.cast(_o));
> > Scheduler *_t = static_cast<Scheduler *>(_o);
> > switch (_id) {
> >
> > // ...
> >
> > case 3: _t->schedulerPrivate->slotSlaveDied((*reinterpret_cast<
> >
> > KIO::Slave*(*)>(_a[1]))); break;
> > // ...
> >
> > In other words, the first argument of Q_PRIVATE_SLOT must be a member
> > of the class it is defined in. I stopped there, so it might fail at other
> > places, too.
> >
> > Any ideas how to fix it?
>
> Olivier, these are your moc changes.
Given that Q_PRIVATE_SLOT is a private definition, shouldn't we rather fix the
code in KDE?
More information about the kde-core-devel
mailing list