Initial-patch-by: Kent Hansen <kent.hansen@nokia.com>
Change-Id: Ieb7ff0537b641597fd0334ae1cb359f89c45ad50
Reviewed-on: http://codereview.qt-project.org/5871
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
// Unfortunate workaround to avoid a circular dependency between
// qdeclarativeengine_p.h and qdeclarativeincubator_p.h
- struct Incubator { QIntrusiveListNode next; };
+ struct Incubator {
+ QIntrusiveListNode next;
+ // Unfortunate workaround for MSVC
+ QIntrusiveListNode nextWaitingFor;
+ };
QIntrusiveList<Incubator, &Incubator::next> incubatorList;
unsigned int incubatorCount;
QDeclarativeIncubationController *incubationController;
QDeclarativeVME::Interrupt i;
while (Loading == status()) {
while (Loading == status() && !d->waitingFor.isEmpty())
- d->waitingFor.first()->incubate(i);
+ static_cast<QDeclarativeIncubatorPrivate *>(d->waitingFor.first())->incubate(i);
if (Loading == status())
d->incubate(i);
}
QDeclarativeVME vme;
QDeclarativeVMEGuard vmeGuard;
- typedef QDeclarativeIncubatorPrivate QIP;
- QIP *waitingOnMe;
- QIntrusiveListNode nextWaitingFor;
- QIntrusiveList<QIP, &QIP::nextWaitingFor> waitingFor;
+ QDeclarativeIncubatorPrivate *waitingOnMe;
+ typedef QDeclarativeEnginePrivate::Incubator QIPBase;
+ QIntrusiveList<QIPBase, &QIPBase::nextWaitingFor> waitingFor;
void clear();