commit:     e09ff4be9ec01b851b1299fdc67fc36982b6f364
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 30 09:58:14 2025 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Nov 30 09:58:14 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e09ff4be

x11-themes/QGnomePlatform: Fix compat with QT 6.10

Closes: https://bugs.gentoo.org/966354
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 .../QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild  |   4 +
 x11-themes/QGnomePlatform/files/qt6_10.patch       | 127 +++++++++++++++++++++
 2 files changed, 131 insertions(+)

diff --git a/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild 
b/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild
index 3d2a85d3dd02..551629084c22 100644
--- a/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild
+++ b/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild
@@ -41,6 +41,10 @@ BDEPEND="
        qt6? ( dev-qt/qtbase:6 )
 "
 
+PATCHES=(
+       "${FILESDIR}/qt6_10.patch" #966354
+)
+
 src_prepare() {
        # Fix cmake4 compatibility, bug #958301, #965856
        sed -i -e 's/VERSION 3.0/VERSION 3.10/' CMakeLists.txt || die

diff --git a/x11-themes/QGnomePlatform/files/qt6_10.patch 
b/x11-themes/QGnomePlatform/files/qt6_10.patch
new file mode 100644
index 000000000000..2b586d2c1a28
--- /dev/null
+++ b/x11-themes/QGnomePlatform/files/qt6_10.patch
@@ -0,0 +1,127 @@
+diff '--color=auto' -ur QGnomePlatform-0.9.2.old/src/common/CMakeLists.txt 
QGnomePlatform-0.9.2/src/common/CMakeLists.txt
+--- QGnomePlatform-0.9.2.old/src/common/CMakeLists.txt 2025-11-30 
10:49:38.175201439 +0100
++++ QGnomePlatform-0.9.2/src/common/CMakeLists.txt     2025-11-30 
10:50:30.233730113 +0100
+@@ -7,6 +7,10 @@
+     utils.cpp
+ )
+ 
++if(QT_VERSION_MAJOR EQUAL 6)
++    find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
++endif()
++
+ add_library(qgnomeplatform${LIBQGNOMEPLATFORM_SUFFIX} SHARED ${common_SRCS})
+ target_link_libraries(qgnomeplatform${LIBQGNOMEPLATFORM_SUFFIX}
+     Qt${QT_VERSION_MAJOR}::Core
+Sólo en QGnomePlatform-0.9.2/src/common: CMakeLists.txt~
+diff '--color=auto' -ur QGnomePlatform-0.9.2.old/src/decoration/CMakeLists.txt 
QGnomePlatform-0.9.2/src/decoration/CMakeLists.txt
+--- QGnomePlatform-0.9.2.old/src/decoration/CMakeLists.txt     2025-11-30 
10:49:38.176201430 +0100
++++ QGnomePlatform-0.9.2/src/decoration/CMakeLists.txt 2025-11-30 
10:51:11.264358626 +0100
+@@ -8,6 +8,11 @@
+     qgnomeplatformdecoration.cpp
+ )
+ 
++if(QT_VERSION_MAJOR EQUAL 6)
++    find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
++    find_package(Qt6 REQUIRED COMPONENTS WaylandClientPrivate)
++endif()
++
+ add_library(qgnomeplatformdecoration MODULE ${decoration_SRCS})
+ target_link_libraries(qgnomeplatformdecoration
+     qgnomeplatform${LIBQGNOMEPLATFORM_SUFFIX}
+Sólo en QGnomePlatform-0.9.2/src/decoration: CMakeLists.txt~
+diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformdecoration.cpp 
QGnomePlatform-0.9.2/src/decoration/qgnomeplatformdecoration.cpp
+--- QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformdecoration.cpp       
2025-11-30 10:49:38.176201430 +0100
++++ QGnomePlatform-0.9.2/src/decoration/qgnomeplatformdecoration.cpp   
2025-11-30 10:56:03.843709465 +0100
+@@ -689,20 +689,32 @@
+         if (local.x() <= margins().left()) {
+             // top left bit
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SizeBDiagCursor);
++#else
+             waylandWindow()->setMouseCursor(inputDevice, Qt::SizeFDiagCursor);
+ #endif
++#endif
+             startResize(inputDevice, Qt::TopEdge | Qt::LeftEdge, b);
+         } else if (local.x() > surfaceRect.right() - margins().left()) {
+             // top right bit
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+             waylandWindow()->setMouseCursor(inputDevice, Qt::SizeBDiagCursor);
+ #endif
++#endif
+             startResize(inputDevice, Qt::TopEdge | Qt::RightEdge, b);
+         } else {
+             // top resize bit
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+             waylandWindow()->setMouseCursor(inputDevice, Qt::SplitVCursor);
+ #endif
++#endif
+             startResize(inputDevice, Qt::TopEdge, b);
+         }
+     } else if (local.x() <= surfaceRect.left() + margins().left()) {
+@@ -747,20 +759,32 @@
+     if (local.x() <= margins().left()) {
+         // bottom left bit
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+         waylandWindow()->setMouseCursor(inputDevice, Qt::SizeBDiagCursor);
+ #endif
++#endif
+         startResize(inputDevice, Qt::BottomEdge | Qt::LeftEdge, b);
+     } else if (local.x() > window()->width() + margins().right()) {
+         // bottom right bit
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+         waylandWindow()->setMouseCursor(inputDevice, Qt::SizeFDiagCursor);
+ #endif
++#endif
+         startResize(inputDevice, Qt::BottomEdge | Qt::RightEdge, b);
+     } else {
+         // bottom bit
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+         waylandWindow()->setMouseCursor(inputDevice, Qt::SplitVCursor);
+ #endif
++#endif
+         startResize(inputDevice, Qt::BottomEdge, b);
+     }
+ }
+@@ -770,8 +794,12 @@
+     Q_UNUSED(local)
+     Q_UNUSED(mods)
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+     waylandWindow()->setMouseCursor(inputDevice, Qt::SplitHCursor);
+ #endif
++#endif
+     startResize(inputDevice, Qt::LeftEdge, b);
+ }
+ 
+@@ -780,8 +808,12 @@
+     Q_UNUSED(local)
+     Q_UNUSED(mods)
+ #if QT_CONFIG(cursor)
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 10, 0))
++            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
++#else
+     waylandWindow()->setMouseCursor(inputDevice, Qt::SplitHCursor);
+ #endif
++#endif
+     startResize(inputDevice, Qt::RightEdge, b);
+ }
+ 
+Sólo en QGnomePlatform-0.9.2/src/decoration: qgnomeplatformdecoration.cpp~

Reply via email to