summaryrefslogtreecommitdiffstats
path: root/src/openglwidgets/qopenglwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openglwidgets/qopenglwidget.cpp')
-rw-r--r--src/openglwidgets/qopenglwidget.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/openglwidgets/qopenglwidget.cpp b/src/openglwidgets/qopenglwidget.cpp
index a3ffa0c0fa..1e3f32e3eb 100644
--- a/src/openglwidgets/qopenglwidget.cpp
+++ b/src/openglwidgets/qopenglwidget.cpp
@@ -719,7 +719,7 @@ void QOpenGLWidgetPrivate::ensureRhiDependentResources()
rhi = repaintManager->rhi();
// If there is no rhi, because we are completely offscreen, then there's no wrapperTexture either
- if (rhi) {
+ if (rhi && rhi->backend() == QRhi::OpenGLES2) {
const QSize deviceSize = q->size() * q->devicePixelRatio();
if (!wrapperTexture || wrapperTexture->pixelSize() != deviceSize) {
const uint textureId = resolvedFbo ? resolvedFbo->texture() : (fbo ? fbo->texture() : 0);
@@ -854,7 +854,14 @@ void QOpenGLWidgetPrivate::render()
q->makeCurrent();
QOpenGLContext *ctx = QOpenGLContext::currentContext();
- Q_ASSERT(ctx && fbo);
+ if (!ctx) {
+ qWarning("QOpenGLWidget: No current context, cannot render");
+ return;
+ }
+ if (!fbo) {
+ qWarning("QOpenGLWidget: No fbo, cannot render");
+ return;
+ }
if (updateBehavior == QOpenGLWidget::NoPartialUpdate && hasBeenComposed) {
invalidateFbo();