You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kuserfeedback/0077-opengl-source-Do-not-c...

40 lines
1.5 KiB

From 17db7d75643b4f3dccd5b36a6ab175f03ba74297 Mon Sep 17 00:00:00 2001
From: Aleix Pol <aleixpol@kde.org>
Date: Wed, 2 Feb 2022 20:36:40 +0100
Subject: [PATCH 77/77] opengl source: Do not crash if we could not make our
context current
BUG: 449505
---
src/provider/core/openglinfosource.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/provider/core/openglinfosource.cpp b/src/provider/core/openglinfosource.cpp
index 5117d85..08402c7 100644
--- a/src/provider/core/openglinfosource.cpp
+++ b/src/provider/core/openglinfosource.cpp
@@ -13,6 +13,7 @@
#include <QOpenGLFunctions>
#include <QSurfaceFormat>
#include <QWindow>
+#include "logging_p.h"
#endif
using namespace KUserFeedback;
@@ -37,7 +38,11 @@ QVariant OpenGLInfoSource::data()
QWindow window;
window.setSurfaceType(QSurface::OpenGLSurface);
window.create();
- context.makeCurrent(&window);
+ if (!context.makeCurrent(&window)) {
+ qCWarning(Log) << "Could not make OpenGL context current";
+ m.insert(QStringLiteral("type"), QStringLiteral("none"));
+ return m;
+ }
QOpenGLFunctions functions(&context);
m.insert(QStringLiteral("vendor"), OpenGLInfoSourcePrivate::normalizeVendor(reinterpret_cast<const char*>(functions.glGetString(GL_VENDOR))));
m.insert(QStringLiteral("renderer"), OpenGLInfoSourcePrivate::normalizeRenderer(reinterpret_cast<const char*>(functions.glGetString(GL_RENDERER))));
--
2.34.1