diff options
author | 2021-10-04 14:35:58 +0200 | |
---|---|---|
committer | 2021-10-04 15:12:42 +0200 | |
commit | e5f1554d74e6ef57cf96b7ba67f361c784e645d1 (patch) | |
tree | c900fc12a3721687ffb73c4d30e87690ed254412 /kde-plasma/kwin/files | |
parent | app-misc/elasticsearch: call tmpfiles_process in 6.8.19 (diff) | |
download | gentoo-e5f1554d74e6ef57cf96b7ba67f361c784e645d1.tar.gz gentoo-e5f1554d74e6ef57cf96b7ba67f361c784e645d1.tar.bz2 gentoo-e5f1554d74e6ef57cf96b7ba67f361c784e645d1.zip |
kde-plasma/kwin: Fix build on problematic platforms
Upstream commit df11acd46778e1e43183c2660bc9dcb1a8ad3282
Reported-by: David Flogeras <dflogeras2@gmail.com>
Closes: https://bugs.gentoo.org/813228
Package-Manager: Portage-3.0.26, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-plasma/kwin/files')
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch | 35 |
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 - |