[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    kio/scheduler: Does not compile with Qt from 4.8 branch
From:       Christoph Feck <christoph () maxiom ! de>
Date:       2011-04-24 10:53:18
Message-ID: 201104241253.18252.christoph () maxiom ! de
[Download RAW message or body]

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)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic