summaryrefslogtreecommitdiff
path: root/dev-libs/kuserfeedback/files/kuserfeedback-1.0.0-fix-opengl-crash.patch
blob: 57321355b23ad059042ca835ec22951cc59fff78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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] 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))));
-- 
GitLab