summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-10-08 23:06:07 +0100
committerV3n3RiX <venerix@koprulu.sector>2021-10-08 23:06:07 +0100
commite23a08d0c97a0cc415aaa165da840b056f93c997 (patch)
tree4c5f7db60483518201fef36f8cc0712789a08db2 /kde-plasma/kwin/files
parent391b5b359a346aff490103da7dddc85047f83830 (diff)
gentoo resync : 08.10.2021
Diffstat (limited to 'kde-plasma/kwin/files')
-rw-r--r--kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch35
1 files changed, 25 insertions, 10 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
index 6db52bdd7492..d185d5e41fe6 100644
--- a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
+++ b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
@@ -12,15 +12,30 @@ BUG: 440372
* asturm 2021-09-21: Merged with upstream commits:
38e24ecd6416a975db0989c21b70d6a4cc242f35 "Fix build with 32-bit"
e26ea6bf2313c021db7e5ca5454cd8b1e2e2037f "Fix build on 32bit platforms"
+
+* asturm 2021-10-04: Merged with upstream commit:
+From df11acd46778e1e43183c2660bc9dcb1a8ad3282 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Tue, 21 Sep 2021 17:34:59 +0300
+Subject: [PATCH] x11: Cast Window to EGLNativeWindowType using a C cast
+
+reinterpret_cast<>() will fail if the types we cast from and to have
+mismatching sizes.
+
+Unfortunately, there are platforms that have Window and
+EGLNativeWindowType of different size. This results in compilation
+errors.
+
+In order to work around those problematic platforms, this change
+replaces reinterpret_cast cast with a c style cast.
---
- src/plugins/platforms/x11/common/eglonxbackend.cpp | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
+ src/plugins/platforms/x11/common/eglonxbackend.cpp | 16 +++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
-diff --git a/src/plugins/platforms/x11/common/eglonxbackend.cpp b/src/plugins/platforms/x11/common/eglonxbackend.cpp
-index c62ec170d..d2900c7c3 100644
+diff -u a/src/plugins/platforms/x11/common/eglonxbackend.cpp b/src/plugins/platforms/x11/common/eglonxbackend.cpp
--- a/src/plugins/platforms/x11/common/eglonxbackend.cpp
+++ b/src/plugins/platforms/x11/common/eglonxbackend.cpp
-@@ -213,15 +213,16 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t window)
+@@ -213,15 +213,19 @@
return EGL_NO_SURFACE;
}
@@ -38,11 +53,11 @@ index c62ec170d..d2900c7c3 100644
+ surface = eglCreatePlatformWindowSurfaceEXT(eglDisplay(), config(), (void *) &nativeWindow, nullptr);
} else {
- surface = eglCreateWindowSurface(eglDisplay(), config(), window, nullptr);
-+ // eglCreateWindowSurface() expects a Window, not a pointer to the Window.
-+ surface = eglCreateWindowSurface(eglDisplay(), config(), reinterpret_cast<EGLNativeWindowType>(nativeWindow), nullptr);
++ // eglCreateWindowSurface() expects a Window, not a pointer to the Window. Use
++ // a c style cast as there are (buggy) platforms where the size of the Window
++ // type is not the same as the size of EGLNativeWindowType, reinterpret_cast<>()
++ // may not compile.
++ surface = eglCreateWindowSurface(eglDisplay(), config(), (EGLNativeWindowType) nativeWindow, nullptr);
}
return surface;
---
-GitLab
-