summaryrefslogtreecommitdiffstats
path: root/source/kde/kde/patch/kwin/e6b20c47ea2d3dfc38632958e0be295a0d376e1f.patch
blob: 91f42a6d58b1a6d09b1de075f23b9367f45775be (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
From e6b20c47ea2d3dfc38632958e0be295a0d376e1f Mon Sep 17 00:00:00 2001
From: Aki Sakurai <kde@aki.tw>
Date: Thu, 28 Sep 2023 23:50:32 +0800
Subject: [PATCH] fix segfault in  EglGbmBackend::textureForOutput

(cherry picked from commit 0f1da589ebc90d7436d4f6e8a418be76c10258c6)
---
 src/backends/drm/drm_egl_backend.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/backends/drm/drm_egl_backend.cpp b/src/backends/drm/drm_egl_backend.cpp
index 3b22ef21db2..d6adbe83f04 100644
--- a/src/backends/drm/drm_egl_backend.cpp
+++ b/src/backends/drm/drm_egl_backend.cpp
@@ -214,6 +214,9 @@ OutputLayer *EglGbmBackend::primaryLayer(Output *output)
 std::shared_ptr<GLTexture> EglGbmBackend::textureForOutput(Output *output) const
 {
     const auto drmOutput = static_cast<DrmAbstractOutput *>(output);
+    if (const auto virtualLayer = dynamic_cast<VirtualEglGbmLayer *>(drmOutput->primaryLayer())) {
+        return virtualLayer->texture();
+    }
     return static_cast<EglGbmLayer *>(drmOutput->primaryLayer())->texture();
 }
 
-- 
GitLab