From 50c81f549030aba3c29f8cd161662b019028e91b Mon Sep 17 00:00:00 2001 From: Inho Lee Date: Thu, 7 Mar 2024 15:00:52 +0100 Subject: Fix offscreen rendering in QOpenGLWidget MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Amends 68a4c5da9a080101cccd8a3b2edb1c908da0ca8e In a case sharing QOpenGLContext, offscreen renderings cannot get QOpenGLContext from Rhi. Fixes: QTBUG-123005 Pick-to: 6.7 6.6 6.5 Change-Id: I9baae5e5c77878885f73ee39df5cd39117e8f1c2 Reviewed-by: Tor Arne Vestbø Reviewed-by: Laszlo Agocs --- src/openglwidgets/qopenglwidget.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/openglwidgets/qopenglwidget.cpp') diff --git a/src/openglwidgets/qopenglwidget.cpp b/src/openglwidgets/qopenglwidget.cpp index a7b760c379..4a0bf7f492 100644 --- a/src/openglwidgets/qopenglwidget.cpp +++ b/src/openglwidgets/qopenglwidget.cpp @@ -855,9 +855,11 @@ void QOpenGLWidgetPrivate::initialize() context = new QOpenGLContext; context->setFormat(requestedFormat); - if (contextFromRhi) { - context->setShareContext(contextFromRhi); - context->setScreen(contextFromRhi->screen()); + + QOpenGLContext *shareContext = contextFromRhi ? contextFromRhi : qt_gl_global_share_context(); + if (shareContext) { + context->setShareContext(shareContext); + context->setScreen(shareContext->screen()); } if (Q_UNLIKELY(!context->create())) { qWarning("QOpenGLWidget: Failed to create context"); -- cgit v1.2.3