diff options
-rw-r--r-- | src/imports/qtcanvas3d/canvas3d.cpp | 5 | ||||
-rw-r--r-- | src/imports/qtcanvas3d/canvasrenderer.cpp | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/imports/qtcanvas3d/canvas3d.cpp b/src/imports/qtcanvas3d/canvas3d.cpp index b4a440e..412bdac 100644 --- a/src/imports/qtcanvas3d/canvas3d.cpp +++ b/src/imports/qtcanvas3d/canvas3d.cpp @@ -494,9 +494,6 @@ void Canvas::setPixelSize(QSize pixelSize) pixelSize.setHeight(m_maxSize.height()); } - if (m_renderer) - m_renderer->setFboSize(pixelSize); - if (m_fboSize == pixelSize) return; @@ -592,6 +589,8 @@ void Canvas::sync() { qCDebug(canvas3drendering).nospace() << "Canvas3D::" << __FUNCTION__ << "()"; + m_renderer->setFboSize(m_fboSize); + // Update execution queue (GUI thread is locked here) m_renderer->transferCommands(); diff --git a/src/imports/qtcanvas3d/canvasrenderer.cpp b/src/imports/qtcanvas3d/canvasrenderer.cpp index 377faf6..3efb809 100644 --- a/src/imports/qtcanvas3d/canvasrenderer.cpp +++ b/src/imports/qtcanvas3d/canvasrenderer.cpp @@ -464,7 +464,6 @@ void CanvasRenderer::render() clearBackground(); } - // Skip render if there is no context or nothing to render if (m_glContext && m_executeQueueCount) { // Update tracked quick item textures @@ -577,7 +576,10 @@ void CanvasRenderer::setFboSize(const QSize &fboSize) return; m_fboSize = fboSize; - m_recreateFbos = true; + if (m_fboSize.width() > 0 && m_fboSize.height() > 0) + m_recreateFbos = true; + else + m_recreateFbos = false; } /*! |