commit:     9a12ab68275cf9776ff1dc9177dce00ededd5031
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  7 14:45:23 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Sep  7 17:09:46 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a12ab68

dev-qt/qtwebengine: fix QTBUG-139424 patch in live

Forgot that it needs an additional revert that wasn't in
6.9.2, else hits a build failure due to missing headers.

Also fix the commit link in the old patch.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.9.2-QTBUG-139424.patch     |  2 +-
 ....patch => qtwebengine-6.9.3-QTBUG-139424.patch} | 70 ++++++++++++++++++----
 dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild    |  2 +-
 dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild     |  2 +-
 4 files changed, 62 insertions(+), 14 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch
index 340bf86ae8b9..d1a577f253b4 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch
@@ -1,5 +1,5 @@
 Revert of [1] from [2] for [3][4]
-[1] https://github.com/qt/qtwebengine/commit/812bf186b15
+[1] https://github.com/qt/qtwebengine/commit/ddcd30454a
 [2] https://bugreports.qt.io/browse/QTBUG-136257
 [3] https://bugreports.qt.io/browse/QTBUG-139424
 [4] https://bugs.gentoo.org/962055

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.9.3-QTBUG-139424.patch
similarity index 71%
copy from dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch
copy to dev-qt/qtwebengine/files/qtwebengine-6.9.3-QTBUG-139424.patch
index 340bf86ae8b9..59f1dcfa68b4 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-6.9.2-QTBUG-139424.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.9.3-QTBUG-139424.patch
@@ -1,11 +1,21 @@
-Revert of [1] from [2] for [3][4]
-[1] https://github.com/qt/qtwebengine/commit/812bf186b15
-[2] https://bugreports.qt.io/browse/QTBUG-136257
-[3] https://bugreports.qt.io/browse/QTBUG-139424
-[4] https://bugs.gentoo.org/962055
+Revert of [1]+[2] from [3] for [4][5]
+[1] https://github.com/qt/qtwebengine/commit/ddcd30454a
+[2] https://github.com/qt/qtwebengine/commit/9168bc6f53
+[3] https://bugreports.qt.io/browse/QTBUG-136257
+[4] https://bugreports.qt.io/browse/QTBUG-139424
+[5] https://bugs.gentoo.org/962055
 --- a/src/core/ozone/egl_helper.cpp
 +++ b/src/core/ozone/egl_helper.cpp
-@@ -60,2 +60,80 @@
+@@ -7,5 +7,7 @@
+ #include "web_engine_context.h"
+ 
++#include <QtCore/qthread.h>
+ #include <QtGui/qguiapplication.h>
++#include <QtGui/qoffscreensurface.h>
+ #include <QtGui/qopenglcontext.h>
+ #include <QtGui/qopenglfunctions.h>
+@@ -58,4 +60,82 @@
+ QT_BEGIN_NAMESPACE
  
 +class ScopedGLContext
 +{
@@ -86,16 +96,36 @@ Revert of [1] from [2] for [3][4]
 +};
 +
  EGLHelper::EGLFunctions::EGLFunctions()
-@@ -66,4 +144,2 @@
+ {
+@@ -64,6 +144,4 @@
+     eglCreateImage =
              
reinterpret_cast<PFNEGLCREATEIMAGEPROC>(context->getProcAddress("eglCreateImage"));
 -    eglCreateDRMImageMESA = reinterpret_cast<PFNEGLCREATEDRMIMAGEMESAPROC>(
 -            context->getProcAddress("eglCreateDRMImageMESA"));
      eglDestroyImage =
-@@ -124,3 +200,2 @@
+             
reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(context->getProcAddress("eglDestroyImage"));
+@@ -94,4 +172,5 @@
+     : 
m_eglDisplay(qApp->platformNativeInterface()->nativeResourceForIntegration("egldisplay"))
+     , m_functions(new EGLHelper::EGLFunctions())
++    , m_offscreenSurface(new QOffscreenSurface())
+ {
+     const char *extensions = m_functions->eglQueryString(EGL_NO_DISPLAY, 
EGL_EXTENSIONS);
+@@ -111,4 +190,7 @@
+     }
+ 
++    Q_ASSERT(QThread::currentThread() == qApp->thread());
++    m_offscreenSurface->create();
++
+     m_isDmaBufSupported = QtWebEngineCore::WebEngineContext::isGbmSupported();
+ 
+@@ -118,5 +200,4 @@
+         m_isDmaBufSupported = strstr(displayExtensions, 
"EGL_EXT_image_dma_buf_import")
                  && strstr(displayExtensions, 
"EGL_EXT_image_dma_buf_import_modifiers")
 -                && strstr(displayExtensions, "EGL_MESA_drm_image")
                  && strstr(displayExtensions, "EGL_MESA_image_dma_buf_export");
-@@ -145,13 +220,15 @@
+     }
+@@ -139,15 +220,17 @@
+         return;
  
 -    // clang-format off
 -    EGLint attribs[] = {
@@ -121,13 +151,31 @@ Revert of [1] from [2] for [3][4]
 +    EGLImage eglImage = m_functions->eglCreateImage(m_eglDisplay, eglContext, 
EGL_GL_TEXTURE_2D,
 +                                                    
(EGLClientBuffer)textureId, NULL);
      if (eglImage == EGL_NO_IMAGE) {
+         qWarning("EGL: Failed to create EGLImage: %s", 
getLastEGLErrorString());
 --- a/src/core/ozone/egl_helper.h
 +++ b/src/core/ozone/egl_helper.h
-@@ -13,3 +13,2 @@
+@@ -13,5 +13,4 @@
+ 
  #undef eglCreateImage
 -#undef eglCreateDRMImageMESA
  #undef eglDestroyImage
-@@ -36,3 +35,2 @@
+ #undef eglExportDMABUFImageMESA
+@@ -26,4 +25,6 @@
+ QT_BEGIN_NAMESPACE
+ 
++class QOffscreenSurface;
++
+ class EGLHelper
+ {
+@@ -34,5 +35,4 @@
+ 
          PFNEGLCREATEIMAGEPROC eglCreateImage;
 -        PFNEGLCREATEDRMIMAGEMESAPROC eglCreateDRMImageMESA;
          PFNEGLDESTROYIMAGEPROC eglDestroyImage;
+         PFNEGLEXPORTDMABUFIMAGEMESAPROC eglExportDMABUFImageMESA;
+@@ -60,4 +60,5 @@
+     EGLDisplay m_eglDisplay = EGL_NO_DISPLAY;
+     QScopedPointer<EGLFunctions> m_functions;
++    QScopedPointer<QOffscreenSurface> m_offscreenSurface;
+     bool m_isDmaBufSupported = false;
+ };

diff --git a/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild
index f0ce2d085399..f47779e87c29 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild
@@ -109,7 +109,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
        "${FILESDIR}"/${PN}-6.9.2-clang-21.patch
-       "${FILESDIR}"/${PN}-6.9.2-QTBUG-139424.patch
+       "${FILESDIR}"/${PN}-6.9.3-QTBUG-139424.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild
index 7c05e1c18c87..495a147c727f 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild
@@ -109,7 +109,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
        "${FILESDIR}"/${PN}-6.9.2-clang-21.patch
-       "${FILESDIR}"/${PN}-6.9.2-QTBUG-139424.patch
+       "${FILESDIR}"/${PN}-6.9.3-QTBUG-139424.patch
 )
 
 python_check_deps() {

Reply via email to