diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2017-05-05 11:23:46 +0200 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2017-05-06 19:15:53 +0000 |
commit | bb0f4b48390b5ddc9758f04f6ecd692072fb279f (patch) | |
tree | 780e7f75bf1b708b5c5c2de85a61c4431302102d /src/quick3d/imports/scene3d/scene3ditem.cpp | |
parent | 4baec347253b14a934cb9f6bcba420adbb09ee35 (diff) |
Scene3DRenderer: fix race conditionv5.9.0-beta4
When the window geometry changes, the Scene3DRenderer was updating
a Qt3D frontend node's property from the QSGRenderThread.
This resulted in the QPostman::notifyBackend being called from possibly two threads at the same time,
resulting in a race condition where the changes would never be submitted again to the backend.
Change-Id: I842aaa54637d85d4d45eb54620749efb36168e2a
Task-number: QTBUG-54900
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oleg Evseev <ev.mipt@gmail.com>
Diffstat (limited to 'src/quick3d/imports/scene3d/scene3ditem.cpp')
-rw-r--r-- | src/quick3d/imports/scene3d/scene3ditem.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp index 6c285e133..c31f4aa97 100644 --- a/src/quick3d/imports/scene3d/scene3ditem.cpp +++ b/src/quick3d/imports/scene3d/scene3ditem.cpp @@ -223,7 +223,7 @@ void Scene3DItem::setWindowSurface(QObject *rootObject) } } -void Scene3DItem::setItemArea(const QSize &area) +void Scene3DItem::setItemArea(QSize area) { Qt3DRender::QRenderSurfaceSelector *surfaceSelector = Qt3DRender::QRenderSurfaceSelectorPrivate::find(m_entity); if (surfaceSelector) |