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