diff options
author | Määttä Antti <antti.maatta@theqtcompany.com> | 2016-02-16 16:27:46 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-11 07:50:19 +0000 |
commit | 848b51d024dc9013b7c8816b074b5b8a4fd6d944 (patch) | |
tree | 267260731d0380b39fbbf4e3084aef7f6b35dfed /src/quick3d/imports/scene3d/scene3drenderer.cpp | |
parent | 9f3a471a890220d48bd3cb1d8a5accc534fc2064 (diff) |
Fix picking with Scene3D
Pass the correct picking area to pick job using rendersurfaceselector
Task-number: QTBUG-49271
Change-Id: I30511199b9b35c0e70d03f31165eb35c8c015cd1
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/quick3d/imports/scene3d/scene3drenderer.cpp')
-rw-r--r-- | src/quick3d/imports/scene3d/scene3drenderer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/quick3d/imports/scene3d/scene3drenderer.cpp b/src/quick3d/imports/scene3d/scene3drenderer.cpp index 690822280..61f2aafb9 100644 --- a/src/quick3d/imports/scene3d/scene3drenderer.cpp +++ b/src/quick3d/imports/scene3d/scene3drenderer.cpp @@ -219,9 +219,13 @@ void Scene3DRenderer::render() ContextSaver saver; - const QSize currentSize = m_item->boundingRect().size().toSize() * window->effectiveDevicePixelRatio(); + const QSize boundingRectSize = m_item->boundingRect().size().toSize(); + const QSize currentSize = boundingRectSize * window->effectiveDevicePixelRatio(); const bool forceRecreate = currentSize != m_lastSize || m_multisample != m_lastMultisample; + if (currentSize != m_lastSize) + m_item->setItemArea(boundingRectSize); + // Rebuild FBO and textures if never created or a resize has occurred if ((m_multisampledFBO.isNull() || forceRecreate) && m_multisample) { qCDebug(Scene3D) << Q_FUNC_INFO << "Creating multisample framebuffer"; |