Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kwayland for openSUSE:Factory checked in at 2022-02-24 18:19:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kwayland (Old) and /work/SRC/openSUSE:Factory/.kwayland.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland" Thu Feb 24 18:19:55 2022 rev:95 rq:954283 version:5.91.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kwayland/kwayland.changes 2022-01-11 21:19:40.432975888 +0100 +++ /work/SRC/openSUSE:Factory/.kwayland.new.1958/kwayland.changes 2022-02-24 18:22:23.426675339 +0100 @@ -1,0 +2,18 @@ +Sun Feb 6 10:17:15 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.91.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.91.0 +- Changes since 5.90.0: + * Ensure when unmapped is emitted, ::windows() will not contain unmapped window. + * Fix wayland registry test + * Add Linux Qt6 CI + * Don't use hard-coded versions with targets and variables + * Install pkg-config file + * Deprecate PlasmaWindowModel::requestVirtualDesktop() + * kwayland server has been moved to plasma kwayland-server since 5.73 + * src/client: wrap deprecated methods in deprecation macros + * Change the build system to enable building with Qt6 + +------------------------------------------------------------------- Old: ---- kwayland-5.90.0.tar.xz kwayland-5.90.0.tar.xz.sig New: ---- kwayland-5.91.0.tar.xz kwayland-5.91.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kwayland.spec ++++++ --- /var/tmp/diff_new_pack.od7HyD/_old 2022-02-24 18:22:24.118675155 +0100 +++ /var/tmp/diff_new_pack.od7HyD/_new 2022-02-24 18:22:24.122675153 +0100 @@ -16,7 +16,7 @@ # -%define _tar_path 5.90 +%define _tar_path 5.91 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -24,7 +24,7 @@ # Only needed for the package signature condition %bcond_without released Name: kwayland -Version: 5.90.0 +Version: 5.91.0 Release: 0 Summary: KDE Wayland library License: LGPL-2.1-or-later @@ -94,6 +94,7 @@ %{_kf5_libdir}/libKF5WaylandClient.so %{_kf5_libdir}/libKF5WaylandServer.so %{_kf5_libdir}/libexec/org-kde-kf5-kwayland-testserver +%{_kf5_libdir}/pkgconfig/KF5WaylandClient.pc %{_kf5_mkspecsdir}/qt_KWaylandClient.pri %{_kf5_mkspecsdir}/qt_KWaylandServer.pri ++++++ kwayland-5.90.0.tar.xz -> kwayland-5.91.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/.gitlab-ci.yml new/kwayland-5.91.0/.gitlab-ci.yml --- old/kwayland-5.90.0/.gitlab-ci.yml 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/.gitlab-ci.yml 2022-02-05 16:18:12.000000000 +0100 @@ -4,3 +4,4 @@ include: - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/CMakeLists.txt new/kwayland-5.91.0/CMakeLists.txt --- old/kwayland-5.90.0/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.90.0") # handled by release scripts +set(KF_VERSION "5.91.0") # handled by release scripts project(KWayland VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.90.0 NO_MODULE) +find_package(ECM 5.91.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/Modules) @@ -15,12 +15,15 @@ include(CMakePackageConfigHelpers) include(ECMSetupVersion) include(ECMGenerateHeaders) +include(ECMGeneratePkgConfigFile) include(CMakeFindFrameworks) include(ECMQtDeclareLoggingCategory) include(ECMPoQmTools) include(ECMAddQch) +set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control how much of deprecated API is built [default=0].") + option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") @@ -31,10 +34,16 @@ # Dependencies set(REQUIRED_QT_VERSION 5.15.2) -find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Private) -find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Concurrent WaylandClient) +find_package(Qt${QT_MAJOR_VERSION}Gui ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Private) +find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Concurrent WaylandClient) -find_package(QtWaylandScanner REQUIRED) +# With Qt6 use qt_generate_wayland_protocol_{client,server}_sources instead of +# ecm_add_qtwayland_{client,server}_protocol (from ECM's QtWaylandScanner) +if (QT_MAJOR_VERSION STREQUAL "6") + find_package(Qt6WaylandCompositor CONFIG REQUIRED) +else() + find_package(QtWaylandScanner REQUIRED) +endif() find_package(Wayland 1.15 COMPONENTS Client Server) set_package_properties(Wayland PROPERTIES @@ -65,7 +74,6 @@ # Subdirectories ecm_install_po_files_as_qm(po) -find_package(QtWaylandScanner REQUIRED) add_subdirectory(src) if (BUILD_TESTING) @@ -100,7 +108,14 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kwayland_version.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel ) + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KWayland COMPONENT Devel) + +if (NOT WIN32) + ecm_generate_pkgconfig_file(BASE_NAME KF5WaylandClient + INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF} + DEPS Qt${QT_MAJOR_VERSION}Gui + INSTALL) +endif() feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/KF5WaylandConfig.cmake.in new/kwayland-5.91.0/KF5WaylandConfig.cmake.in --- old/kwayland-5.90.0/KF5WaylandConfig.cmake.in 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/KF5WaylandConfig.cmake.in 2022-02-05 16:18:12.000000000 +0100 @@ -1,7 +1,7 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) +find_dependency(Qt@QT_MAJOR_VERSION@Gui @REQUIRED_QT_VERSION@) include("${CMAKE_CURRENT_LIST_DIR}/KF5WaylandTargets.cmake") @PACKAGE_INCLUDE_QCHTARGETS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/autotests/CMakeLists.txt new/kwayland-5.91.0/autotests/CMakeLists.txt --- old/kwayland-5.90.0/autotests/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/autotests/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,10 +1,14 @@ include(ECMMarkAsTest) -find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) +find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) remove_definitions(-DQT_NO_CAST_FROM_ASCII) remove_definitions(-DQT_NO_CAST_TO_ASCII) add_subdirectory(client) -add_subdirectory(server) + +# The server part of this repo has been moved to Plasma kwayland-server since 5.73 +if(EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.74.0) + add_subdirectory(server) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/autotests/client/CMakeLists.txt new/kwayland-5.91.0/autotests/client/CMakeLists.txt --- old/kwayland-5.90.0/autotests/client/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/autotests/client/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,26 +1,4 @@ ######################################################## -# Test WaylandConnectionThread -######################################################## -set( testWaylandConnectionThread_SRCS - test_wayland_connection_thread.cpp - ) -add_executable(testWaylandConnectionThread ${testWaylandConnectionThread_SRCS}) -target_link_libraries( testWaylandConnectionThread Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) -add_test(NAME kwayland-testWaylandConnectionThread COMMAND testWaylandConnectionThread) -ecm_mark_as_test(testWaylandConnectionThread) - -######################################################## -# Test WaylandRegistry -######################################################## -set( testWaylandRegistry_SRCS - test_wayland_registry.cpp - ) -add_executable(testWaylandRegistry ${testWaylandRegistry_SRCS}) -target_link_libraries( testWaylandRegistry Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) -add_test(NAME kwayland-testWaylandRegistry COMMAND testWaylandRegistry) -ecm_mark_as_test(testWaylandRegistry) - -######################################################## # Test WaylandFullscreenShell ######################################################## if(Wayland_VERSION VERSION_GREATER "1.4.0") @@ -30,7 +8,7 @@ test_wayland_fullscreen_shell.cpp ) add_executable(testWaylandFullscreenShell ${testWaylandFullscreenShell_SRCS}) - target_link_libraries( testWaylandFullscreenShell Qt5::Test KF5::WaylandClient Wayland::Client) + target_link_libraries( testWaylandFullscreenShell Qt${QT_MAJOR_VERSION}::Test KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testWaylandFullscreenShell COMMAND testWaylandFullscreenShell) ecm_mark_as_test(testWaylandFullscreenShell) else() @@ -38,6 +16,34 @@ endif() endif() +# The server part of this repo has been moved to Plasma kwayland-server since 5.73, +# all tests that link to KF5::WaylandServer can't be built +if(EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.74.0) + +######################################################## +# Test WaylandConnectionThread +######################################################## +set( testWaylandConnectionThread_SRCS + test_wayland_connection_thread.cpp + ) +add_executable(testWaylandConnectionThread ${testWaylandConnectionThread_SRCS}) +target_link_libraries( testWaylandConnectionThread Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +add_test(NAME kwayland-testWaylandConnectionThread COMMAND testWaylandConnectionThread) +ecm_mark_as_test(testWaylandConnectionThread) + +######################################################## +# Test WaylandRegistry +######################################################## +if(EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.74.0) + set( testWaylandRegistry_SRCS + test_wayland_registry.cpp + ) + add_executable(testWaylandRegistry ${testWaylandRegistry_SRCS}) + target_link_libraries( testWaylandRegistry Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) + add_test(NAME kwayland-testWaylandRegistry COMMAND testWaylandRegistry) + ecm_mark_as_test(testWaylandRegistry) +endif() + ######################################################## # Test WaylandOutput ######################################################## @@ -45,7 +51,7 @@ test_wayland_output.cpp ) add_executable(testWaylandOutput ${testWaylandOutput_SRCS}) -target_link_libraries( testWaylandOutput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +target_link_libraries( testWaylandOutput Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) add_test(NAME kwayland-testWaylandOutput COMMAND testWaylandOutput) ecm_mark_as_test(testWaylandOutput) @@ -56,7 +62,7 @@ test_wayland_shell.cpp ) add_executable(testWaylandShell ${testWaylandShell_SRCS}) -target_link_libraries( testWaylandShell Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +target_link_libraries( testWaylandShell Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) add_test(NAME kwayland-testWaylandShell COMMAND testWaylandShell) ecm_mark_as_test(testWaylandShell) @@ -67,7 +73,7 @@ test_wayland_surface.cpp ) add_executable(testWaylandSurface ${testWaylandSurface_SRCS}) -target_link_libraries( testWaylandSurface Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +target_link_libraries( testWaylandSurface Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) add_test(NAME kwayland-testWaylandSurface COMMAND testWaylandSurface) ecm_mark_as_test(testWaylandSurface) @@ -78,7 +84,7 @@ test_wayland_seat.cpp ) add_executable(testWaylandSeat ${testWaylandSeat_SRCS}) -target_link_libraries( testWaylandSeat Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +target_link_libraries( testWaylandSeat Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) add_test(NAME kwayland-testWaylandSeat COMMAND testWaylandSeat) ecm_mark_as_test(testWaylandSeat) @@ -89,7 +95,7 @@ test_shm_pool.cpp ) add_executable(testShmPool ${testShmPool_SRCS}) -target_link_libraries( testShmPool Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testShmPool Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testShmPool COMMAND testShmPool) ecm_mark_as_test(testShmPool) @@ -100,7 +106,7 @@ test_wayland_outputmanagement.cpp ) add_executable(testWaylandOutputManagement ${test_wayland_outputmanagement_SRCS}) -target_link_libraries( testWaylandOutputManagement Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testWaylandOutputManagement Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testWaylandOutputManagement COMMAND testWaylandOutputManagement) ecm_mark_as_test(testWaylandOutputManagement) @@ -111,7 +117,7 @@ test_wayland_outputdevice.cpp ) add_executable(testWaylandOutputDevice ${test_wayland_outputdevice_SRCS}) -target_link_libraries( testWaylandOutputDevice Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testWaylandOutputDevice Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testWaylandOutputDevice COMMAND testWaylandOutputDevice) ecm_mark_as_test(testWaylandOutputDevice) @@ -122,7 +128,7 @@ test_compositor.cpp ) add_executable(testCompositor ${testCompositor_SRCS}) -target_link_libraries( testCompositor Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testCompositor Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testCompositor COMMAND testCompositor) ecm_mark_as_test(testCompositor) @@ -133,7 +139,7 @@ test_wayland_subcompositor.cpp ) add_executable(testSubCompositor ${testSubCompositor_SRCS}) -target_link_libraries( testSubCompositor Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testSubCompositor Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testSubCompositor COMMAND testSubCompositor) ecm_mark_as_test(testSubCompositor) @@ -145,7 +151,7 @@ test_wayland_subsurface.cpp ) add_executable(testSubSurface ${testSubSurface_SRCS}) -target_link_libraries( testSubSurface Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testSubSurface Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testSubSurface COMMAND testSubSurface) ecm_mark_as_test(testSubSurface) @@ -156,7 +162,7 @@ test_wayland_region.cpp ) add_executable(testRegion ${testRegion_SRCS}) -target_link_libraries( testRegion Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testRegion Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testRegion COMMAND testRegion) ecm_mark_as_test(testRegion) @@ -167,7 +173,7 @@ test_wayland_blur.cpp ) add_executable(testBlur ${testBlur_SRCS}) -target_link_libraries( testBlur Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testBlur Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testBlur COMMAND testBlur) ecm_mark_as_test(testBlur) @@ -178,7 +184,7 @@ test_wayland_contrast.cpp ) add_executable(testContrast ${testContrast_SRCS}) -target_link_libraries( testContrast Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testContrast Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testContrast COMMAND testContrast) ecm_mark_as_test(testContrast) @@ -189,7 +195,7 @@ test_wayland_slide.cpp ) add_executable(testSlide ${testSlide_SRCS}) -target_link_libraries( testSlide Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testSlide Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testSlide COMMAND testSlide) ecm_mark_as_test(testSlide) @@ -200,7 +206,7 @@ test_wayland_windowmanagement.cpp ) add_executable(testWindowmanagement ${testWindowmanagement_SRCS}) -target_link_libraries( testWindowmanagement Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testWindowmanagement Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testWindowmanagement COMMAND testWindowmanagement) ecm_mark_as_test(testWindowmanagement) @@ -211,7 +217,7 @@ test_datasource.cpp ) add_executable(testDataSource ${testDataSource_SRCS}) -target_link_libraries( testDataSource Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testDataSource Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testDataSource COMMAND testDataSource) ecm_mark_as_test(testDataSource) @@ -222,7 +228,7 @@ test_datadevice.cpp ) add_executable(testDataDevice ${testDataDevice_SRCS}) -target_link_libraries( testDataDevice Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testDataDevice Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testDataDevice COMMAND testDataDevice) ecm_mark_as_test(testDataDevice) @@ -233,7 +239,7 @@ test_server_side_decoration.cpp ) add_executable(testServerSideDecoration ${testServerSideDecoration_SRCS}) -target_link_libraries( testServerSideDecoration Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testServerSideDecoration Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testServerSideDecoration COMMAND testServerSideDecoration) ecm_mark_as_test(testServerSideDecoration) @@ -244,7 +250,7 @@ test_drag_drop.cpp ) add_executable(testDragAndDrop ${testDragAndDrop_SRCS}) -target_link_libraries( testDragAndDrop Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testDragAndDrop Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testDragAndDrop COMMAND testDragAndDrop) ecm_mark_as_test(testDragAndDrop) @@ -255,7 +261,7 @@ test_plasmashell.cpp ) add_executable(testPlasmaShell ${testPlasmaShell_SRCS}) -target_link_libraries( testPlasmaShell Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testPlasmaShell Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testPlasmaShell COMMAND testPlasmaShell) ecm_mark_as_test(testPlasmaShell) @@ -266,7 +272,7 @@ test_idle.cpp ) add_executable(testIdle ${testIdle_SRCS}) -target_link_libraries( testIdle Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testIdle Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testIdle COMMAND testIdle) ecm_mark_as_test(testIdle) @@ -277,7 +283,7 @@ test_shadow.cpp ) add_executable(testShadow ${testShadow_SRCS}) -target_link_libraries( testShadow Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testShadow Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testShadow COMMAND testShadow) ecm_mark_as_test(testShadow) @@ -288,7 +294,7 @@ test_fake_input.cpp ) add_executable(testFakeInput ${testFakeInput_SRCS}) -target_link_libraries( testFakeInput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testFakeInput Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testFakeInput COMMAND testFakeInput) ecm_mark_as_test(testFakeInput) @@ -299,7 +305,7 @@ test_plasma_window_model.cpp ) add_executable(testPlasmaWindowModel ${testPlasmaWindowModel_SRCS}) -target_link_libraries( testPlasmaWindowModel Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testPlasmaWindowModel Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testPlasmaWindowModel COMMAND testPlasmaWindowModel) ecm_mark_as_test(testPlasmaWindowModel) @@ -310,7 +316,7 @@ test_text_input.cpp ) add_executable(testTextInput ${testTextInput_SRCS}) -target_link_libraries( testTextInput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testTextInput Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testTextInput COMMAND testTextInput) ecm_mark_as_test(testTextInput) @@ -321,7 +327,7 @@ test_error.cpp ) add_executable(testError ${testError_SRCS}) -target_link_libraries( testError Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testError Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testError COMMAND testError) ecm_mark_as_test(testError) @@ -332,7 +338,7 @@ test_selection.cpp ) add_executable(testSelection ${testSelection_SRCS}) -target_link_libraries( testSelection Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) +target_link_libraries( testSelection Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client) add_test(NAME kwayland-testSelection COMMAND testSelection) ecm_mark_as_test(testSelection) @@ -344,7 +350,7 @@ test_xdg_shell_v5.cpp ) add_executable(testXdgShellV5 ${testXdgShellV5_SRCS}) -target_link_libraries( testXdgShellV5 Qt5::Test Qt5::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) +target_link_libraries( testXdgShellV5 Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testXdgShellV5 COMMAND testXdgShellV5) ecm_mark_as_test(testXdgShellV5) @@ -355,7 +361,7 @@ test_xdg_foreign.cpp ) add_executable(testXdgForeign ${testXdgForeign_SRCS}) -target_link_libraries( testXdgForeign Qt5::Test Qt5::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) +target_link_libraries( testXdgForeign Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testXdgForeign COMMAND testXdgForeign) ecm_mark_as_test(testXdgForeign) @@ -367,7 +373,7 @@ test_xdg_shell_v6.cpp ) add_executable(testXdgShellV6 ${testXdgShellV6_SRCS}) -target_link_libraries( testXdgShellV6 Qt5::Test Qt5::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) +target_link_libraries( testXdgShellV6 Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testXdgShellV6 COMMAND testXdgShellV6) ecm_mark_as_test(testXdgShellV6) ######################################################## @@ -378,7 +384,7 @@ test_xdg_shell_stable.cpp ) add_executable(testXdgShellStable ${testXdgShellStable_SRCS}) -target_link_libraries( testXdgShellStable Qt5::Test Qt5::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) +target_link_libraries( testXdgShellStable Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testXdgShellStable COMMAND testXdgShellStable) ecm_mark_as_test(testXdgShellStable) @@ -386,7 +392,7 @@ # Test Pointer Constraints ######################################################## add_executable(testPointerConstraints test_pointer_constraints.cpp) -target_link_libraries( testPointerConstraints Qt5::Test Qt5::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) +target_link_libraries( testPointerConstraints Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testPointerConstraints COMMAND testPointerConstraints) ecm_mark_as_test(testPointerConstraints) @@ -398,7 +404,7 @@ test_wayland_filter.cpp ) add_executable(testFilter ${testFilter_SRCS}) -target_link_libraries( testFilter Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Server) +target_link_libraries( testFilter Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Server) add_test(NAME kwayland-testFilter COMMAND testFilter) ecm_mark_as_test(testFilter) @@ -409,7 +415,7 @@ test_wayland_appmenu.cpp ) add_executable(testAppmenu ${testAppmenu_SRCS}) -target_link_libraries( testAppmenu Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testAppmenu Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testAppmenu COMMAND testAppmenu) ecm_mark_as_test(testAppmenu) @@ -420,7 +426,7 @@ test_server_side_decoration_palette.cpp ) add_executable(testServerSideDecorationPalette ${testServerSideDecorationPalette_SRCS}) -target_link_libraries( testServerSideDecorationPalette Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testServerSideDecorationPalette Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testServerSideDecorationPalette COMMAND testServerSideDecorationPalette) ecm_mark_as_test(testServerSideDecorationPalette) @@ -431,7 +437,7 @@ test_remote_access.cpp ) add_executable(testRemoteAccess ${testRemoteAccess_SRCS}) -target_link_libraries( testRemoteAccess Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testRemoteAccess Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testRemoteAccess COMMAND testRemoteAccess) ecm_mark_as_test(testRemoteAccess) @@ -442,7 +448,7 @@ test_plasma_virtual_desktop.cpp ) add_executable(testPlasmaVirtualDesktop ${testPlasmaVirtualDesktop_SRCS}) -target_link_libraries( testPlasmaVirtualDesktop Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer) +target_link_libraries( testPlasmaVirtualDesktop Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer) add_test(NAME kwayland-testPlasmaVirtualDesktop COMMAND testPlasmaVirtualDesktop) ecm_mark_as_test(testPlasmaVirtualDesktop) @@ -453,7 +459,7 @@ test_xdg_output.cpp ) add_executable(testXdgOutput ${testXdgOutput_SRCS}) -target_link_libraries( testXdgOutput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +target_link_libraries( testXdgOutput Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) add_test(NAME kwayland-testXdgOutput COMMAND testXdgOutput) ecm_mark_as_test(testXdgOutput) @@ -464,7 +470,8 @@ test_xdg_decoration.cpp ) add_executable(testXdgDecoration ${testXdgdecoration_SRCS}) -target_link_libraries( testXdgDecoration Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) +target_link_libraries( testXdgDecoration Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server) add_test(NAME kwayland-testXdgDecoration COMMAND testXdgDecoration) ecm_mark_as_test(testXdgDecoration) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/autotests/client/test_plasma_window_model.cpp new/kwayland-5.91.0/autotests/client/test_plasma_window_model.cpp --- old/kwayland-5.90.0/autotests/client/test_plasma_window_model.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/autotests/client/test_plasma_window_model.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -826,21 +826,21 @@ // make sure the resource is properly created on server side QCoreApplication::instance()->processEvents(QEventLoop::WaitForMoreEvents); + auto model = m_pw->createWindowModel(); + QVERIFY(model); + QCOMPARE(model->rowCount(), 1); QSignalSpy unmappedSpy(window, &PlasmaWindow::unmapped); QVERIFY(unmappedSpy.isValid()); QSignalSpy destroyedSpy(window, &PlasmaWindow::destroyed); QVERIFY(destroyedSpy.isValid()); + QSignalSpy rowRemovedSpy(model, &PlasmaWindowModel::rowsRemoved); // unmap should be triggered, but not yet the destroyed w->unmap(); QVERIFY(unmappedSpy.wait()); QVERIFY(destroyedSpy.isEmpty()); - auto model = m_pw->createWindowModel(); - QVERIFY(model); - QCOMPARE(model->rowCount(), 1); - QSignalSpy rowRemovedSpy(model, &PlasmaWindowModel::rowsRemoved); - QVERIFY(rowRemovedSpy.isValid()); - QVERIFY(rowRemovedSpy.wait()); + QVERIFY(destroyedSpy.wait()); + QVERIFY(rowRemovedSpy.count() || rowRemovedSpy.wait()); QCOMPARE(rowRemovedSpy.count(), 1); QCOMPARE(model->rowCount(), 0); QCOMPARE(destroyedSpy.count(), 1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/autotests/client/test_wayland_registry.cpp new/kwayland-5.91.0/autotests/client/test_wayland_registry.cpp --- old/kwayland-5.90.0/autotests/client/test_wayland_registry.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/autotests/client/test_wayland_registry.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -219,7 +219,7 @@ QVERIFY(!registry.isValid()); } -#define TEST_BIND(iface, signalName, bindMethod, destroyFunction) \ +#define TEST_BIND_NOCHECK_BIND_INVALID_VERSION(iface, signalName, bindMethod, destroyFunction) \ KWayland::Client::ConnectionThread connection; \ QSignalSpy connectedSpy(&connection, SIGNAL(connected())); \ connection.setSocketName(s_socketName); \ @@ -257,11 +257,14 @@ /* registry should know about the interface now */ \ QVERIFY(registry.hasInterface(iface)); \ QVERIFY(!registry.bindMethod(name + 1, version)); \ - QVERIFY(registry.bindMethod(name, version + 1)); \ auto *c = registry.bindMethod(name, version); \ QVERIFY(c); \ destroyFunction(c); +#define TEST_BIND(iface, signalName, bindMethod, destroyFunction) \ + TEST_BIND_NOCHECK_BIND_INVALID_VERSION(iface, signalName, bindMethod, destroyFunction) \ + QVERIFY(registry.bindMethod(name, version + 1)); + void TestWaylandRegistry::testBindCompositor() { TEST_BIND(KWayland::Client::Registry::Interface::Compositor, SIGNAL(compositorAnnounced(quint32, quint32)), bindCompositor, wl_compositor_destroy) @@ -310,7 +313,11 @@ void TestWaylandRegistry::testBindContrastManager() { - TEST_BIND(KWayland::Client::Registry::Interface::Contrast, SIGNAL(contrastAnnounced(quint32, quint32)), bindContrastManager, free) + // Max supported version in KWayland::Client is not same as the version of KWayland::Server. + TEST_BIND_NOCHECK_BIND_INVALID_VERSION(KWayland::Client::Registry::Interface::Contrast, + SIGNAL(contrastAnnounced(quint32, quint32)), + bindContrastManager, + free) } void TestWaylandRegistry::testBindSlideManager() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/autotests/client/test_wayland_windowmanagement.cpp new/kwayland-5.91.0/autotests/client/test_wayland_windowmanagement.cpp --- old/kwayland-5.90.0/autotests/client/test_wayland_windowmanagement.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/autotests/client/test_wayland_windowmanagement.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -57,6 +57,7 @@ void testIcon(); void testPid(); void testApplicationMenu(); + void testUnmapAndWindowList(); void cleanup(); @@ -241,6 +242,20 @@ m_display = nullptr; } +void TestWindowManagement::testUnmapAndWindowList() +{ + // Ensure it is called before signal spy. + connect(m_window, &KWayland::Client::PlasmaWindow::unmapped, this, [this]() { + QVERIFY(!m_windowManagement->windows().contains(m_window)); + }); + QSignalSpy unmappedSpy(m_window, &KWayland::Client::PlasmaWindow::unmapped); + QVERIFY(unmappedSpy.isValid()); + QSignalSpy destroyedSpy(m_window, &QObject::destroyed); + QVERIFY(destroyedSpy.isValid()); + m_windowInterface->unmap(); + QVERIFY(unmappedSpy.wait()); +} + void TestWindowManagement::testUseAfterUnmap() { // this test verifies that when the client uses a window after it's unmapped, things don't break diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/autotests/server/CMakeLists.txt new/kwayland-5.91.0/autotests/server/CMakeLists.txt --- old/kwayland-5.90.0/autotests/server/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/autotests/server/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -5,7 +5,7 @@ test_display.cpp ) add_executable(testWaylandServerDisplay ${testWaylandServerDisplay_SRCS}) -target_link_libraries( testWaylandServerDisplay Qt5::Test Qt5::Gui KF5::WaylandServer Wayland::Server) +target_link_libraries( testWaylandServerDisplay Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer Wayland::Server) add_test(NAME kwayland-testWaylandServerDisplay COMMAND testWaylandServerDisplay) ecm_mark_as_test(testWaylandServerDisplay) @@ -16,7 +16,7 @@ test_seat.cpp ) add_executable(testWaylandServerSeat ${testWaylandServerSeat_SRCS}) -target_link_libraries( testWaylandServerSeat Qt5::Test Qt5::Gui KF5::WaylandServer Wayland::Server) +target_link_libraries( testWaylandServerSeat Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer Wayland::Server) add_test(NAME kwayland-testWaylandServerSeat COMMAND testWaylandServerSeat) ecm_mark_as_test(testWaylandServerSeat) @@ -24,7 +24,7 @@ # QtSurfaceExtenstion Helper ######################################################## add_executable(surfaceExtensionHelper surfaceextension_helper.cpp) -target_link_libraries( surfaceExtensionHelper Qt5::Gui) +target_link_libraries( surfaceExtensionHelper Qt${QT_MAJOR_VERSION}::Gui) ecm_mark_as_test(surfaceExtensionHelper) ######################################################## @@ -34,7 +34,7 @@ test_qt_surface_extension.cpp ) add_executable(testQtSurfaceExtension ${testQtSurfaceExtension_SRCS}) -target_link_libraries( testQtSurfaceExtension Qt5::Test Qt5::Gui KF5::WaylandServer) +target_link_libraries( testQtSurfaceExtension Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandServer) add_test(NAME kwayland-testQtSurfaceExtension COMMAND testQtSurfaceExtension) ecm_mark_as_test(testQtSurfaceExtension) @@ -42,18 +42,27 @@ # Test No XDG_RUNTIME_DIR ######################################################## add_executable(testNoXdgRuntimeDir test_no_xdg_runtime_dir.cpp) -target_link_libraries( testNoXdgRuntimeDir Qt5::Test KF5::WaylandServer) +target_link_libraries( testNoXdgRuntimeDir Qt${QT_MAJOR_VERSION}::Test KF5::WaylandServer) add_test(NAME kwayland-testNoXdgRuntimeDir COMMAND testNoXdgRuntimeDir) ecm_mark_as_test(testNoXdgRuntimeDir) ######################################################## # Test Tablet Interface ######################################################## -ecm_add_qtwayland_client_protocol(TABLET_SRCS - PROTOCOL ${WaylandProtocols_DATADIR}/unstable/tablet/tablet-unstable-v2.xml - BASENAME tablet-unstable-v2 -) -add_executable(testTabletInterface test_tablet_interface.cpp ${TABLET_SRCS}) -target_link_libraries( testTabletInterface Qt5::Test KF5::WaylandServer KF5::WaylandClient Wayland::Client) +add_executable(testTabletInterface) + +if (TARGET Qt6::WaylandClient) + qt_generate_wayland_protocol_client_sources(testTabletInterface + FILES ${WaylandProtocols_DATADIR}/unstable/tablet/tablet-unstable-v2.xml + ) +else() + ecm_add_qtwayland_client_protocol(TABLET_SRCS + PROTOCOL ${WaylandProtocols_DATADIR}/unstable/tablet/tablet-unstable-v2.xml + BASENAME tablet-unstable-v2 + ) +endif() + +target_sources(testTabletInterface PRIVATE test_tablet_interface.cpp ${TABLET_SRCS}) +target_link_libraries( testTabletInterface Qt${QT_MAJOR_VERSION}::Test KF5::WaylandServer KF5::WaylandClient Wayland::Client) add_test(NAME kwayland-testTabletInterface COMMAND testTabletInterface) ecm_mark_as_test(testTabletInterface) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/CMakeLists.txt new/kwayland-5.91.0/src/CMakeLists.txt --- old/kwayland-5.90.0/src/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,5 +1,10 @@ add_subdirectory(client) -add_subdirectory(server) + +# The server part of this repo has been moved to Plasma kwayland-server since 5.73 +if(EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.74.0) + add_subdirectory(server) +endif() + add_subdirectory(tools) ecm_qt_install_logging_categories( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/client/CMakeLists.txt new/kwayland-5.91.0/src/client/CMakeLists.txt --- old/kwayland-5.90.0/src/client/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/client/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -3,7 +3,7 @@ remove_definitions(-DQT_NO_CAST_TO_ASCII) # needed to access QPA -include_directories(SYSTEM ${Qt5Gui_PRIVATE_INCLUDE_DIRS}) +include_directories(SYSTEM ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS}) set(CLIENT_LIB_SRCS appmenu.cpp @@ -249,17 +249,16 @@ VERSION ${KF_VERSION} DEPRECATED_BASE_VERSION 0 DEPRECATION_VERSIONS 5.49 5.50 5.52 5.53 5.73 5.82 + EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} ) -# TODO: add support for EXCLUDE_DEPRECATED_BEFORE_AND_AT to all KWayland libs -# needs fixing of undeprecated API being still implemented using own deprecated API - -target_include_directories(KF5WaylandClient INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KWayland/Client>") +target_include_directories(KF5WaylandClient + INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KWayland;${KDE_INSTALL_INCLUDEDIR_KF}/KWayland/Client>") target_link_libraries(KF5WaylandClient - PUBLIC Qt5::Gui + PUBLIC Qt${QT_MAJOR_VERSION}::Gui PRIVATE Wayland::Client - Qt5::Concurrent + Qt${QT_MAJOR_VERSION}::Concurrent ) set_target_properties(KF5WaylandClient PROPERTIES VERSION ${KWAYLAND_VERSION} @@ -324,7 +323,7 @@ install(FILES ${CLIENT_LIB_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KWayland/Client COMPONENT Devel + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KWayland/Client COMPONENT Devel ) # make available to ecm_add_qch in parent folder @@ -332,6 +331,6 @@ set(KWaylandClient_APIDOX_BUILD_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) include(ECMGeneratePriFile) -ecm_generate_pri_file(BASE_NAME KWaylandClient LIB_NAME KF5WaylandClient DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}) +ecm_generate_pri_file(BASE_NAME KWaylandClient LIB_NAME KF5WaylandClient DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/client/outputconfiguration.cpp new/kwayland-5.91.0/src/client/outputconfiguration.cpp --- old/kwayland-5.90.0/src/client/outputconfiguration.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/client/outputconfiguration.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -145,10 +145,12 @@ org_kde_kwin_outputconfiguration_position(d->outputconfiguration, od, pos.x(), pos.y()); } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 50) void OutputConfiguration::setScale(OutputDevice *outputdevice, qint32 scale) { setScaleF(outputdevice, scale); } +#endif void OutputConfiguration::setScaleF(OutputDevice *outputdevice, qreal scale) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/client/outputdevice.cpp new/kwayland-5.91.0/src/client/outputdevice.cpp --- old/kwayland-5.90.0/src/client/outputdevice.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/client/outputdevice.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -539,10 +539,12 @@ return (*d->currentMode).refreshRate; } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 50) int OutputDevice::scale() const { return qRound(d->scale); } +#endif qreal OutputDevice::scaleF() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/client/plasmawindowmanagement.cpp new/kwayland-5.91.0/src/client/plasmawindowmanagement.cpp --- old/kwayland-5.90.0/src/client/plasmawindowmanagement.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/client/plasmawindowmanagement.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -237,20 +237,23 @@ PlasmaWindow *window = new PlasmaWindow(q, id, internalId, uuid); window->d->wm = q; windows << window; - QObject::connect(window, &QObject::destroyed, q, [this, window] { + + const auto windowRemoved = [this, window] { windows.removeAll(window); if (activeWindow == window) { activeWindow = nullptr; Q_EMIT q->activeWindowChanged(); } - }); - QObject::connect(window, &PlasmaWindow::unmapped, q, [this, window] { - if (activeWindow == window) { - activeWindow = nullptr; - Q_EMIT q->activeWindowChanged(); - } - }); + }; + + QObject::connect(window, &QObject::destroyed, q, windowRemoved); + // unmapped is emitted earlier than QObject::destroyed. We want to update windows earlier to ensure other slot will see the up to date value of + // PlasmaWindowManagement::windows(). + QObject::connect(window, &PlasmaWindow::unmapped, q, windowRemoved); QObject::connect(window, &PlasmaWindow::activeChanged, q, [this, window] { + if (window->d->unmapped) { + return; + } if (window->isActive()) { if (activeWindow == window) { return; @@ -268,12 +271,17 @@ void PlasmaWindowManagement::Private::stackingOrderCallback(void *data, org_kde_plasma_window_management *interface, wl_array *ids) { + // This is no-op since setStackingOrder(const QVector<quint32> &ids) is deprecated since 5.73, + // but we can't remove this method because it's needed in + // PlasmaWindowManagement::Private::s_listener struct +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 73) auto wm = reinterpret_cast<PlasmaWindowManagement::Private *>(data); Q_ASSERT(wm->wm == interface); QVector<quint32> destination; destination.resize(ids->size / sizeof(uint32_t)); memcpy(destination.data(), ids->data, ids->size); wm->setStackingOrder(destination); +#endif } void PlasmaWindowManagement::Private::stackingOrderUuidsCallback(void *data, org_kde_plasma_window_management *interface, const char *uuids) @@ -283,6 +291,7 @@ wm->setStackingOrder(QByteArray(uuids).split(';').toVector()); } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 73) void PlasmaWindowManagement::Private::setStackingOrder(const QVector<quint32> &ids) { if (stackingOrder == ids) { @@ -291,6 +300,7 @@ stackingOrder = ids; Q_EMIT q->stackingOrderChanged(); } +#endif void PlasmaWindowManagement::Private::setStackingOrder(const QVector<QByteArray> &uuids) { @@ -397,10 +407,12 @@ return new PlasmaWindowModel(this); } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 73) QVector<quint32> PlasmaWindowManagement::stackingOrder() const { return d->stackingOrder; } +#endif QVector<QByteArray> PlasmaWindowManagement::stackingOrderUuids() const { @@ -522,8 +534,12 @@ p->pid = pid; } -void PlasmaWindow::Private::virtualDesktopChangedCallback(void *data, org_kde_plasma_window *window, int32_t number) +void PlasmaWindow::Private::virtualDesktopChangedCallback([[maybe_unused]] void *data, + [[maybe_unused]] org_kde_plasma_window *window, + [[maybe_unused]] int32_t number) { + // Can't remove this method as it's used in PlasmaWindow::Private::s_listener struct +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 52) Q_UNUSED(window) Private *p = cast(data); if (p->desktop == static_cast<quint32>(number)) { @@ -531,6 +547,7 @@ } p->desktop = number; Q_EMIT p->q->virtualDesktopChanged(); +#endif } void PlasmaWindow::Private::unmappedCallback(void *data, org_kde_plasma_window *window) @@ -913,10 +930,12 @@ return d->title; } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 52) quint32 PlasmaWindow::virtualDesktop() const { return d->desktop; } +#endif bool PlasmaWindow::isActive() const { @@ -1053,10 +1072,12 @@ org_kde_plasma_window_request_resize(d->window); } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 52) void PlasmaWindow::requestVirtualDesktop(quint32 desktop) { org_kde_plasma_window_set_virtual_desktop(d->window, desktop); } +#endif void PlasmaWindow::requestToggleKeepAbove() { @@ -1113,10 +1134,12 @@ } } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 73) quint32 PlasmaWindow::internalId() const { return d->internalId; } +#endif QByteArray PlasmaWindow::uuid() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/client/plasmawindowmodel.cpp new/kwayland-5.91.0/src/client/plasmawindowmodel.cpp --- old/kwayland-5.90.0/src/client/plasmawindowmodel.cpp 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/client/plasmawindowmodel.cpp 2022-02-05 16:18:12.000000000 +0100 @@ -102,9 +102,11 @@ this->dataChanged(window, IsKeepBelow); }); +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 52) QObject::connect(window, &PlasmaWindow::virtualDesktopChanged, q, [window, this] { this->dataChanged(window, VirtualDesktop); }); +#endif QObject::connect(window, &PlasmaWindow::onAllDesktopsChanged, q, [window, this] { this->dataChanged(window, IsOnAllDesktops); @@ -238,8 +240,6 @@ return window->isKeepAbove(); } else if (role == IsKeepBelow) { return window->isKeepBelow(); - } else if (role == VirtualDesktop) { - return window->virtualDesktop(); } else if (role == IsOnAllDesktops) { return window->isOnAllDesktops(); } else if (role == IsDemandingAttention) { @@ -267,6 +267,11 @@ } else if (role == Uuid) { return window->uuid(); } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 52) + else if (role == VirtualDesktop) { + return window->virtualDesktop(); + } +#endif return QVariant(); } @@ -309,12 +314,21 @@ } } +#if KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(5, 52) Q_INVOKABLE void PlasmaWindowModel::requestVirtualDesktop(int row, quint32 desktop) { if (row >= 0 && row < d->windows.count()) { d->windows.at(row)->requestVirtualDesktop(desktop); } } +#endif + +Q_INVOKABLE void PlasmaWindowModel::requestEnterVirtualDesktop(int row, const QString &id) +{ + if (row >= 0 && row < d->windows.count()) { + d->windows.at(row)->requestEnterVirtualDesktop(id); + } +} Q_INVOKABLE void PlasmaWindowModel::requestToggleKeepAbove(int row) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/client/plasmawindowmodel.h new/kwayland-5.91.0/src/client/plasmawindowmodel.h --- old/kwayland-5.90.0/src/client/plasmawindowmodel.h 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/client/plasmawindowmodel.h 2022-02-05 16:18:12.000000000 +0100 @@ -148,10 +148,22 @@ **/ Q_INVOKABLE void requestResize(int row); +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 52) /** * Request the window at this model row index be moved to this virtual desktop. + * + * @deprecated Since 5.52; starting from 5.90, use requestEnterVirtualDesktop(int row, const QString &id) instead. **/ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 52, "Starting from 5.90 use PlasmaWindowModel::requestEnterVirtualDesktop(int row, const QString &id) instead.") Q_INVOKABLE void requestVirtualDesktop(int row, quint32 desktop); +#endif + + /** + * Request the window at the model index @p row to be moved to the virtual desktop @p id. + * + * @since 5.90 + **/ + Q_INVOKABLE void requestEnterVirtualDesktop(int row, const QString &id); /** * Requests the window at this model row index have its keep above state toggled. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/server/CMakeLists.txt new/kwayland-5.91.0/src/server/CMakeLists.txt --- old/kwayland-5.90.0/src/server/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/server/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -309,12 +309,11 @@ VERSION ${KF_VERSION} DEPRECATED_BASE_VERSION 0 DEPRECATION_VERSIONS 5.5 5.28 5.50 5.52 5.69 5.73 + EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} ) -# TODO: add support for EXCLUDE_DEPRECATED_BEFORE_AND_AT to all KWayland libs -# needs fixing of undeprecated API being still implemented using own deprecated API - -target_include_directories(KF5WaylandServer INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KWayland/Server>") +target_include_directories(KF5WaylandServer + INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KWayland;${KDE_INSTALL_INCLUDEDIR_KF5}/KWayland/Server>") target_link_libraries(KF5WaylandServer PUBLIC Qt5::Gui diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/tools/CMakeLists.txt new/kwayland-5.91.0/src/tools/CMakeLists.txt --- old/kwayland-5.90.0/src/tools/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/tools/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,4 +1,7 @@ -add_subdirectory(testserver) +# The server part of this repo has been moved to Plasma kwayland-server since 5.73 +if(EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.74.0) + add_subdirectory(testserver) +endif() include(ECMMarkAsTest) @@ -6,5 +9,5 @@ add_definitions(-DMAPPING_FILE="${CMAKE_CURRENT_SOURCE_DIR}/mapping.txt") add_executable(kwaylandScanner ${scannerSRCS}) -target_link_libraries(kwaylandScanner Qt5::Core Qt5::Concurrent) +target_link_libraries(kwaylandScanner Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Concurrent) ecm_mark_as_test(kwaylandScanner) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/src/tools/testserver/CMakeLists.txt new/kwayland-5.91.0/src/tools/testserver/CMakeLists.txt --- old/kwayland-5.90.0/src/tools/testserver/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/src/tools/testserver/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,3 +1,3 @@ add_executable(org-kde-kf5-kwayland-testserver main.cpp testserver.cpp) -target_link_libraries(org-kde-kf5-kwayland-testserver Qt5::Core KF5::WaylandServer) +target_link_libraries(org-kde-kf5-kwayland-testserver Qt${QT_MAJOR_VERSION}::Core KF5::WaylandServer) install(TARGETS org-kde-kf5-kwayland-testserver DESTINATION ${KDE_INSTALL_LIBEXECDIR} ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.90.0/tests/CMakeLists.txt new/kwayland-5.91.0/tests/CMakeLists.txt --- old/kwayland-5.90.0/tests/CMakeLists.txt 2022-01-01 13:19:55.000000000 +0100 +++ new/kwayland-5.91.0/tests/CMakeLists.txt 2022-02-05 16:18:12.000000000 +0100 @@ -1,22 +1,26 @@ include(ECMMarkAsTest) -# find_package(Qt5Core ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENT Private _check_private) -include_directories(SYSTEM ${Qt5Core_PRIVATE_INCLUDE_DIRS}) -set(testServer_SRCS - waylandservertest.cpp - ) -add_executable(testServer ${testServer_SRCS}) -target_link_libraries(testServer KF5::WaylandServer) -ecm_mark_as_test(testServer) - -find_package(Qt5Widgets ${QT_MIN_VERSION} CONFIG QUIET) -if (Qt5Widgets_FOUND) - set(testRenderingServer_SRCS - renderingservertest.cpp +# The server part of this repo has been moved to Plasma kwayland-server since 5.73, +# all targets that link to KF5::WaylandServer can't be built +if(EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.74.0) + # find_package(Qt${QT_MAJOR_VERSION}Core ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENT Private _check_private) + include_directories(SYSTEM ${Qt${QT_MAJOR_VERSION}Core_PRIVATE_INCLUDE_DIRS}) + set(testServer_SRCS + waylandservertest.cpp ) - add_executable(testRenderingServer ${testRenderingServer_SRCS}) - target_link_libraries(testRenderingServer KF5::WaylandServer Qt5::Concurrent Qt5::Widgets) - ecm_mark_as_test(testRenderingServer) + add_executable(testServer ${testServer_SRCS}) + target_link_libraries(testServer KF5::WaylandServer) + ecm_mark_as_test(testServer) + + find_package(Qt${QT_MAJOR_VERSION}Widgets ${QT_MIN_VERSION} CONFIG QUIET) + if (TARGET Qt${QT_MAJOR_VERSION}::Widgets) + set(testRenderingServer_SRCS + renderingservertest.cpp + ) + add_executable(testRenderingServer ${testRenderingServer_SRCS}) + target_link_libraries(testRenderingServer KF5::WaylandServer Qt${QT_MAJOR_VERSION}::Concurrent Qt${QT_MAJOR_VERSION}::Widgets) + ecm_mark_as_test(testRenderingServer) + endif() endif() add_executable(copyClient copyclient.cpp) @@ -24,7 +28,7 @@ ecm_mark_as_test(copyClient) add_executable(pasteClient pasteclient.cpp) -target_link_libraries(pasteClient Qt5::Concurrent KF5::WaylandClient) +target_link_libraries(pasteClient Qt${QT_MAJOR_VERSION}::Concurrent KF5::WaylandClient) ecm_mark_as_test(pasteClient) add_executable(touchClientTest touchclienttest.cpp) @@ -35,11 +39,11 @@ ecm_mark_as_test(panelTest) add_executable(qtwayland-integration-test qtwaylandintegrationtest.cpp) -target_link_libraries(qtwayland-integration-test Qt5::Core Qt5::Gui KF5::WaylandClient) +target_link_libraries(qtwayland-integration-test Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient) ecm_mark_as_test(qtwayland-integration-test) add_executable(subsurface-test subsurfacetest.cpp) -target_link_libraries(subsurface-test Qt5::Core Qt5::Gui KF5::WaylandClient) +target_link_libraries(subsurface-test Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient) ecm_mark_as_test(subsurface-test) add_executable(shadowTest shadowtest.cpp) @@ -47,21 +51,21 @@ ecm_mark_as_test(shadowTest) -if (Qt5Widgets_FOUND) +if (TARGET Qt${QT_MAJOR_VERSION}::Widgets) add_executable(dpmsTest dpmstest.cpp) - target_link_libraries(dpmsTest KF5::WaylandClient Qt5::Widgets) + target_link_libraries(dpmsTest KF5::WaylandClient Qt${QT_MAJOR_VERSION}::Widgets) ecm_mark_as_test(dpmsTest) endif() add_executable(plasmasurface-test plasmasurfacetest.cpp) -target_link_libraries(plasmasurface-test Qt5::Gui KF5::WaylandClient) +target_link_libraries(plasmasurface-test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient) ecm_mark_as_test(plasmasurface-test) add_executable(xdgforeign-test xdgforeigntest.cpp) -target_link_libraries(xdgforeign-test Qt5::Gui KF5::WaylandClient) +target_link_libraries(xdgforeign-test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient) ecm_mark_as_test(xdgforeign-test) add_executable(xdg-test xdgtest.cpp) -target_link_libraries(xdg-test Qt5::Gui KF5::WaylandClient) +target_link_libraries(xdg-test Qt${QT_MAJOR_VERSION}::Gui KF5::WaylandClient) ecm_mark_as_test(xdg-test)