summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/qtcanvas3d/canvas3d.cpp5
-rw-r--r--src/imports/qtcanvas3d/canvasrenderer.cpp6
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;
}
/*!