summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch')
-rw-r--r--kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch b/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch
new file mode 100644
index 000000000000..45d231a70f1b
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch
@@ -0,0 +1,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
+