x11-themes/QGnomePlatform: Fix compat with QT 6.10

Closes: https://bugs.gentoo.org/966354
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
This commit is contained in:
Pacho Ramos 2025-11-30 10:58:14 +01:00
parent f188ddc636
commit e09ff4be9e
No known key found for this signature in database
GPG Key ID: 7CB10C207FC07DBC
2 changed files with 131 additions and 0 deletions

View File

@ -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

View File

@ -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~