kio/scheduler: Does not compile with Qt from 4.8 branch
Christoph Feck
christoph at maxiom.de
Sun Apr 24 11:53:18 BST 2011
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?
Happy Easter,
Christoph Feck (kdepepo)
More information about the kde-core-devel
mailing list