From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/
Date: Sun, 06 Apr 2025 14:48:12 +0000 (UTC) [thread overview]
Message-ID: <1743950846.234ace8b5bdeaa481f073cea3a4372c31263015c.ionen@gentoo> (raw)
commit: 234ace8b5bdeaa481f073cea3a4372c31263015c
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 6 14:42:06 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Apr 6 14:47:26 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=234ace8b
dev-qt/qtwebengine: backport fix for QTBUG-133570
Haven't reproduced the crash myself, but both falkon and
qutebrowser upstreams had reports about that issue with 6.9.0,
and may as well include it before potential unmasking.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../files/qtwebengine-6.9.0-QTBUG-133570.patch | 108 +++++++++++++++++++++
...ne-6.9.0.ebuild => qtwebengine-6.9.0-r1.ebuild} | 1 +
2 files changed, 109 insertions(+)
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.9.0-QTBUG-133570.patch b/dev-qt/qtwebengine/files/qtwebengine-6.9.0-QTBUG-133570.patch
new file mode 100644
index 000000000000..decd83aa9b1b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.9.0-QTBUG-133570.patch
@@ -0,0 +1,108 @@
+https://bugs.kde.org/show_bug.cgi?id=497691
+https://github.com/qutebrowser/qutebrowser/issues/8534
+https://bugreports.qt.io/browse/QTBUG-133570
+https://codereview.qt-project.org/c/qt/qtwebengine/+/634920
+--- a/src/core/configure/BUILD.root.gn.in
++++ b/src/core/configure/BUILD.root.gn.in
+@@ -406,4 +406,5 @@
+ "//ui/base/x:gl",
+ "//ui/gfx/linux:gpu_memory_buffer_support_x11",
++ "//ui/gfx/x",
+ ]
+
+@@ -411,4 +412,6 @@
+ "//ui/ozone/platform/x11/gl_egl_utility_x11.cc",
+ "//ui/ozone/platform/x11/gl_egl_utility_x11.h",
++ "//ui/ozone/platform/x11/native_pixmap_egl_x11_binding.cc",
++ "//ui/ozone/platform/x11/native_pixmap_egl_x11_binding.h",
+ ]
+ }
+--- a/src/core/ozone/gl_ozone_angle_qt.cpp
++++ b/src/core/ozone/gl_ozone_angle_qt.cpp
+@@ -1,5 +1,9 @@
+-// Copyright (C) 2024 The Qt Company Ltd.
++// Copyright (C) 2025 The Qt Company Ltd.
+ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
++// Copyright 2016 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
+ #include "gl_ozone_angle_qt.h"
+
+@@ -13,4 +17,6 @@
+ #if BUILDFLAG(IS_OZONE_X11)
+ #include "ozone_util_qt.h"
++
++#include "ui/ozone/platform/x11/native_pixmap_egl_x11_binding.h"
+ #endif
+
+@@ -21,4 +27,32 @@
+
+ namespace ui {
++namespace {
++// Based on //ui/ozone/platform/x11/x11_surface_factory.cc
++enum class NativePixmapSupportType {
++ // Importing native pixmaps not supported.
++ kNone,
++
++ // Native pixmaps are imported directly into EGL using the
++ // EGL_EXT_image_dma_buf_import extension.
++ kDMABuf,
++
++ // Native pixmaps are first imported as X11 pixmaps using DRI3 and then into
++ // EGL.
++ kX11Pixmap,
++};
++
++NativePixmapSupportType GetNativePixmapSupportType()
++{
++ if (gl::GLSurfaceEGL::GetGLDisplayEGL()->ext->b_EGL_EXT_image_dma_buf_import)
++ return NativePixmapSupportType::kDMABuf;
++
++#if BUILDFLAG(IS_OZONE_X11)
++ if (NativePixmapEGLX11Binding::CanImportNativeGLXPixmap())
++ return NativePixmapSupportType::kX11Pixmap;
++#endif
++
++ return NativePixmapSupportType::kNone;
++}
++} // namespace
+
+ bool GLOzoneANGLEQt::LoadGLES2Bindings(const gl::GLImplementationParts & /*implementation*/)
+@@ -74,5 +108,14 @@
+ bool GLOzoneANGLEQt::CanImportNativePixmap(gfx::BufferFormat format)
+ {
+- return gl::GLSurfaceEGL::GetGLDisplayEGL()->ext->b_EGL_EXT_image_dma_buf_import;
++ switch (GetNativePixmapSupportType()) {
++ case NativePixmapSupportType::kDMABuf:
++ return NativePixmapEGLBinding::IsBufferFormatSupported(format);
++#if BUILDFLAG(IS_OZONE_X11)
++ case NativePixmapSupportType::kX11Pixmap:
++ return NativePixmapEGLX11Binding::IsBufferFormatSupported(format);
++#endif
++ default:
++ return false;
++ }
+ }
+
+@@ -83,6 +126,17 @@
+ GLenum target, GLuint texture_id)
+ {
+- return NativePixmapEGLBinding::Create(pixmap, plane_format, plane, plane_size, color_space,
+- target, texture_id);
++ switch (GetNativePixmapSupportType()) {
++ case NativePixmapSupportType::kDMABuf:
++ return NativePixmapEGLBinding::Create(pixmap, plane_format, plane, plane_size, color_space,
++ target, texture_id);
++#if BUILDFLAG(IS_OZONE_X11)
++ case NativePixmapSupportType::kX11Pixmap:
++ return NativePixmapEGLX11Binding::Create(pixmap, plane_format, plane_size, target,
++ texture_id);
++#endif
++ default:
++ NOTREACHED();
++ return nullptr;
++ }
+ }
+
diff --git a/dev-qt/qtwebengine/qtwebengine-6.9.0.ebuild b/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
similarity index 99%
rename from dev-qt/qtwebengine/qtwebengine-6.9.0.ebuild
rename to dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
index 5366adc7bed8..d01308b28bb7 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
@@ -109,6 +109,7 @@ PATCHES+=(
"${FILESDIR}"/${PN}-6.8.2-glibc2.41.patch
"${FILESDIR}"/${PN}-6.8.3-pipewire1.4.patch
"${FILESDIR}"/${PN}-6.9.0-x11-pixmap-leak.patch
+ "${FILESDIR}"/${PN}-6.9.0-QTBUG-133570.patch
)
python_check_deps() {
next reply other threads:[~2025-04-06 14:48 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-06 14:48 Ionen Wolkens [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-10-09 5:35 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/ Ionen Wolkens
2025-09-28 6:53 Ionen Wolkens
2025-09-09 10:30 Ionen Wolkens
2025-07-10 14:33 Ionen Wolkens
2025-06-05 8:46 Ionen Wolkens
2025-04-02 5:09 Ionen Wolkens
2025-03-30 15:04 Ionen Wolkens
2025-02-26 8:47 Ionen Wolkens
2025-02-13 19:49 Ionen Wolkens
2025-01-06 22:51 Ionen Wolkens
2025-01-04 4:05 Ionen Wolkens
2024-12-28 16:58 Andreas Sturmlechner
2024-12-03 17:15 Ionen Wolkens
2024-11-23 8:44 Andreas Sturmlechner
2024-10-21 12:31 Sam James
2024-08-14 15:37 Ionen Wolkens
2024-07-28 4:30 Sam James
2024-07-03 0:39 Ionen Wolkens
2024-06-08 13:41 Ionen Wolkens
2024-05-30 12:52 Andreas Sturmlechner
2024-04-19 7:55 Ionen Wolkens
2024-04-17 0:15 Ionen Wolkens
2024-04-03 3:57 Ionen Wolkens
2024-03-22 10:29 Ionen Wolkens
2024-02-25 18:46 Ionen Wolkens
2024-02-01 23:06 Andreas Sturmlechner
2024-01-16 11:53 Andreas Sturmlechner
2024-01-03 19:10 Ionen Wolkens
2023-12-18 18:43 Ionen Wolkens
2023-11-20 13:44 Ionen Wolkens
2023-10-05 19:39 Ionen Wolkens
2023-09-07 10:03 Ionen Wolkens
2023-05-24 11:15 Andreas Sturmlechner
2023-04-25 15:38 Andreas Sturmlechner
2023-04-17 19:39 Jimi Huotari
2023-04-15 2:10 Sam James
2023-04-09 20:17 Andreas Sturmlechner
2022-09-24 14:32 Andreas Sturmlechner
2022-08-17 21:20 Ionen Wolkens
2022-06-20 18:54 Andreas Sturmlechner
2022-05-20 19:43 Andreas Sturmlechner
2022-05-14 21:24 Sam James
2022-04-17 19:29 Sam James
2022-04-09 16:07 Andreas Sturmlechner
2021-10-17 6:54 Andreas Sturmlechner
2021-09-02 18:38 Andreas Sturmlechner
2021-09-02 18:38 Andreas Sturmlechner
2021-06-14 9:25 Andreas Sturmlechner
2021-05-23 19:19 Andreas Sturmlechner
2021-03-24 12:15 Andreas Sturmlechner
2020-04-26 18:12 Andreas Sturmlechner
2020-03-22 14:40 Andreas Sturmlechner
2020-02-10 6:42 Andreas Sturmlechner
2020-02-08 21:34 Andreas Sturmlechner
2019-10-20 14:21 Andreas Sturmlechner
2019-09-25 21:34 Andreas Sturmlechner
2019-09-01 23:07 Andreas Sturmlechner
2018-11-10 20:27 Andreas Sturmlechner
2018-05-09 20:17 Andreas Sturmlechner
2017-12-05 11:21 Michael Palimaka
2017-06-04 13:19 Michael Palimaka
2016-12-06 6:54 Michael Palimaka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1743950846.234ace8b5bdeaa481f073cea3a4372c31263015c.ionen@gentoo \
--to=ionen@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox