summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch
blob: 45d231a70f1b386318a1a26087516cede372cde1 (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
From 3af37c8a29af36eb773b0684237d61b2bd6b81f9 Mon Sep 17 00:00:00 2001
From: Xaver Hugl <xaver.hugl@gmail.com>
Date: Thu, 4 Aug 2022 15:36:26 +0200
Subject: [PATCH] backends/drm: fix blob updating

Two things about the code were wrong:
1. m_current is used in updateBlob() but was only updated afterwards
2. the assumption that the property having the same ID means it has the
same blob contents is not always true

BUG: 449285


(cherry picked from commit 97939ceae864aef2f50e117496f548555877b4ea)
---
 src/backends/drm/drm_property.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/backends/drm/drm_property.cpp b/src/backends/drm/drm_property.cpp
index 8ab0dc0e5a..b2a2deda12 100644
--- a/src/backends/drm/drm_property.cpp
+++ b/src/backends/drm/drm_property.cpp
@@ -112,10 +112,8 @@ bool DrmProperty::needsCommit() const
 
 void DrmProperty::setCurrent(uint64_t value)
 {
-    if (m_current != value) {
-        updateBlob();
-        m_current = value;
-    }
+    m_current = value;
+    updateBlob();
 }
 
 uint64_t DrmProperty::current() const
-- 
GitLab