diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2012-12-05 06:27:47 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-18 12:26:55 +0100 |
commit | ebe8b9408cfcd953fae80514aa67e49221541bed (patch) | |
tree | a9728a64f5f462dc45dabce591f67140738b0edc /src/quick/designer | |
parent | 9c54d0ef8f6442e32d5762edccef46db80b68681 (diff) |
Complete rewrite of threaded render loop.
This change starts using the superior implementation of the scene graph
render loop which has been worked on in the scenegraph-playground
project for a while. It uses a far more straightforward locking/sync
paradigm compared to the existing one and is less deadlock and error
prone. It also enables the scene graph thread to run on its own when
the GUI thread is blocked, enabling threaded animations.
This changes also introduces a naming change inside Qt Quick from
"Window Manager" -> "Render Loop" as that fits better to what the
code does.
Change-Id: I1c2170ee04fcbef79660bd7dae6cace647cdb276
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/quick/designer')
-rw-r--r-- | src/quick/designer/designersupport.cpp | 4 | ||||
-rw-r--r-- | src/quick/designer/designerwindowmanager_p.h | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/quick/designer/designersupport.cpp b/src/quick/designer/designersupport.cpp index 924dfe9551..915c87e51e 100644 --- a/src/quick/designer/designersupport.cpp +++ b/src/quick/designer/designersupport.cpp @@ -47,7 +47,7 @@ #include <QtQml/private/qabstractanimationjob_p.h> #include <private/qqmlengine_p.h> #include <private/qquickview_p.h> -#include <private/qquickwindowmanager_p.h> +#include <private/qsgrenderloop_p.h> #include <QtQuick/private/qquickstategroup_p.h> #include <QtGui/QImage> #include <private/qqmlvme_p.h> @@ -428,7 +428,7 @@ void DesignerSupport::updateDirtyNode(QQuickItem *item) void DesignerSupport::activateDesignerWindowManager() { - QQuickWindowManager::setInstance(new DesignerWindowManager); + QSGRenderLoop::setInstance(new DesignerWindowManager); } void DesignerSupport::activateDesignerMode() diff --git a/src/quick/designer/designerwindowmanager_p.h b/src/quick/designer/designerwindowmanager_p.h index 0e95b06197..878d236314 100644 --- a/src/quick/designer/designerwindowmanager_p.h +++ b/src/quick/designer/designerwindowmanager_p.h @@ -55,7 +55,7 @@ #include <QtCore/QScopedPointer> -#include <private/qquickwindowmanager_p.h> +#include <private/qsgrenderloop_p.h> #include <private/qtquickglobal_p.h> #include <QtQuick/private/qsgcontext_p.h> @@ -69,7 +69,7 @@ class QSGContext; class QAnimationDriver; class QOpenGLContext; -class DesignerWindowManager : public QObject, public QQuickWindowManager +class DesignerWindowManager : public QObject, public QSGRenderLoop { Q_OBJECT public: @@ -88,7 +88,7 @@ public: void maybeUpdate(QQuickWindow *window); void update(QQuickWindow *window); // identical for this implementation. - void releaseResources() { } + void releaseResources(QQuickWindow *) { } QAnimationDriver *animationDriver() const { return 0; } |