From 435902aa542e09d5701a7e76c967e0b7f5107fb4 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 30 Sep 2011 14:29:05 +0200 Subject: [PATCH] Declarative: Compile on Windows. Initial-patch-by: Kent Hansen Change-Id: Ieb7ff0537b641597fd0334ae1cb359f89c45ad50 Reviewed-on: http://codereview.qt-project.org/5871 Reviewed-by: Qt Sanity Bot Reviewed-by: Kent Hansen Reviewed-by: Aaron Kennedy --- src/declarative/qml/qdeclarativeengine_p.h | 6 +++++- src/declarative/qml/qdeclarativeincubator.cpp | 2 +- src/declarative/qml/qdeclarativeincubator_p.h | 7 +++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index 03d56e2..71d6220 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -195,7 +195,11 @@ public: // 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 incubatorList; unsigned int incubatorCount; QDeclarativeIncubationController *incubationController; diff --git a/src/declarative/qml/qdeclarativeincubator.cpp b/src/declarative/qml/qdeclarativeincubator.cpp index ff0712d..ed75c9a 100644 --- a/src/declarative/qml/qdeclarativeincubator.cpp +++ b/src/declarative/qml/qdeclarativeincubator.cpp @@ -525,7 +525,7 @@ void QDeclarativeIncubator::forceCompletion() QDeclarativeVME::Interrupt i; while (Loading == status()) { while (Loading == status() && !d->waitingFor.isEmpty()) - d->waitingFor.first()->incubate(i); + static_cast(d->waitingFor.first())->incubate(i); if (Loading == status()) d->incubate(i); } diff --git a/src/declarative/qml/qdeclarativeincubator_p.h b/src/declarative/qml/qdeclarativeincubator_p.h index e736aab..e71602a 100644 --- a/src/declarative/qml/qdeclarativeincubator_p.h +++ b/src/declarative/qml/qdeclarativeincubator_p.h @@ -81,10 +81,9 @@ public: QDeclarativeVME vme; QDeclarativeVMEGuard vmeGuard; - typedef QDeclarativeIncubatorPrivate QIP; - QIP *waitingOnMe; - QIntrusiveListNode nextWaitingFor; - QIntrusiveList waitingFor; + QDeclarativeIncubatorPrivate *waitingOnMe; + typedef QDeclarativeEnginePrivate::Incubator QIPBase; + QIntrusiveList waitingFor; void clear(); -- 2.7.4