Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libkscreen2 for openSUSE:Factory 
checked in at 2022-06-13 13:02:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkscreen2 (Old)
 and      /work/SRC/openSUSE:Factory/.libkscreen2.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkscreen2"

Mon Jun 13 13:02:20 2022 rev:139 rq:981916 version:5.25.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkscreen2/libkscreen2.changes  2022-05-05 
23:05:14.297470787 +0200
+++ /work/SRC/openSUSE:Factory/.libkscreen2.new.1548/libkscreen2.changes        
2022-06-13 13:02:36.569123632 +0200
@@ -1,0 +2,26 @@
+Thu Jun  9 11:15:01 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.25.0
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.25.0
+- Changes since 5.24.90:
+  * Remove CI dependency on kwayland-server as that is no longer a thing.
+
+-------------------------------------------------------------------
+Thu May 19 19:45:55 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.24.90
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.24.90
+- Changes since 5.24.5:
+  * Use const'ref
+  * Delete proxy for PrimaryOutput wayland interface in destructor (kde#451847)
+  * Adapt recent DPMS changes to also build with Qt6
+  * [doctor] Port dpms handling to QtWaylandScanner
+  * Adapt build system to also support Qt6
+  * backends/kwayland: Use output name to guess output type
+  * Update required PlasmaWaylandProtocols version
+
+-------------------------------------------------------------------

Old:
----
  libkscreen-5.24.5.tar.xz
  libkscreen-5.24.5.tar.xz.sig

New:
----
  libkscreen-5.25.0.tar.xz
  libkscreen-5.25.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libkscreen2.spec ++++++
--- /var/tmp/diff_new_pack.MLnxeN/_old  2022-06-13 13:02:37.121124403 +0200
+++ /var/tmp/diff_new_pack.MLnxeN/_new  2022-06-13 13:02:37.125124409 +0200
@@ -19,7 +19,7 @@
 %bcond_without released
 %define lname   libKF5Screen7
 Name:           libkscreen2
-Version:        5.24.5
+Version:        5.25.0
 Release:        0
 # Full Plasma 5 version (e.g. 5.8.95)
 %{!?_plasma5_bugfix: %define _plasma5_bugfix %{version}}
@@ -29,9 +29,9 @@
 License:        GPL-2.0-or-later
 Group:          System/GUI/KDE
 URL:            http://www.kde.org
-Source:         
https://download.kde.org/stable/plasma/%{version}/libkscreen-%{version}.tar.xz
+Source:         libkscreen-%{version}.tar.xz
 %if %{with released}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/libkscreen-%{version}.tar.xz.sig
+Source1:        libkscreen-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 BuildRequires:  cmake >= 3.16

++++++ libkscreen-5.24.5.tar.xz -> libkscreen-5.25.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/.kde-ci.yml 
new/libkscreen-5.25.0/.kde-ci.yml
--- old/libkscreen-5.24.5/.kde-ci.yml   2022-05-03 12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/.kde-ci.yml   2022-06-09 11:11:47.000000000 +0200
@@ -6,4 +6,3 @@
   'require':
     'frameworks/extra-cmake-modules': '@latest'
     'frameworks/kwayland': '@latest'
-    'plasma/kwayland-server': '@same'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/CMakeLists.txt 
new/libkscreen-5.25.0/CMakeLists.txt
--- old/libkscreen-5.24.5/CMakeLists.txt        2022-05-03 12:13:39.000000000 
+0200
+++ new/libkscreen-5.25.0/CMakeLists.txt        2022-06-09 11:11:47.000000000 
+0200
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(libkscreen)
-set(PROJECT_VERSION "5.24.5")
+set(PROJECT_VERSION "5.25.0")
 
 set(QT_MIN_VERSION "5.15.0")
-set(KF5_MIN_VERSION "5.86")
+set(KF5_MIN_VERSION "5.91")
 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
 
 set(CMAKE_CXX_STANDARD 17)
@@ -26,8 +26,11 @@
 include(KDEClangFormat)
 include(KDEGitCommitHooks)
 
-find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Gui Test 
X11Extras)
-find_package(QtWaylandScanner REQUIRED)
+find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus 
Gui Test WaylandClient)
+if (QT_MAJOR_VERSION EQUAL "5")
+  find_package(Qt5 CONFIG REQUIRED X11Extras)
+  find_package(QtWaylandScanner REQUIRED)
+endif()
 find_package(WaylandScanner)
 
 # Wayland backend
@@ -70,7 +73,7 @@
    add_subdirectory(tests)
 endif()
 
-set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5Screen")
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Screen")
 
 # add clang-format target for all our real source files
 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
@@ -110,7 +113,7 @@
 
 install(FILES
   "${CMAKE_CURRENT_BINARY_DIR}/kscreen_version.h"
-  DESTINATION "${KF5_INCLUDE_INSTALL_DIR}"
+  DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF}"
   COMPONENT Devel
 )
 install(FILES libkscreen.categories  DESTINATION  
${KDE_INSTALL_LOGGINGCATEGORIESDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/autotests/testkwaylandbackend.cpp 
new/libkscreen-5.25.0/autotests/testkwaylandbackend.cpp
--- old/libkscreen-5.24.5/autotests/testkwaylandbackend.cpp     2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/autotests/testkwaylandbackend.cpp     2022-06-09 
11:11:47.000000000 +0200
@@ -115,7 +115,7 @@
 void testWaylandBackend::verifyOutputs()
 {
     bool primaryFound = false;
-    for (const KScreen::OutputPtr op : m_config->outputs()) {
+    for (const KScreen::OutputPtr &op : m_config->outputs()) {
         if (op->isPrimary()) {
             primaryFound = true;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/kwayland/CMakeLists.txt 
new/libkscreen-5.25.0/backends/kwayland/CMakeLists.txt
--- old/libkscreen-5.24.5/backends/kwayland/CMakeLists.txt      2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/kwayland/CMakeLists.txt      2022-06-09 
11:11:47.000000000 +0200
@@ -16,22 +16,31 @@
                                 CATEGORY_NAME kscreen.kwayland
 )
 
-ecm_add_qtwayland_client_protocol(wayland_SRCS
-    PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-device-v2.xml
-    BASENAME kde-output-device-v2
-)
+add_library(KSC_KWayland MODULE)
+if (QT_MAJOR_VERSION EQUAL "5")
+    ecm_add_qtwayland_client_protocol(wayland_SRCS
+        PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-device-v2.xml
+        BASENAME kde-output-device-v2
+    )
 
-ecm_add_qtwayland_client_protocol(wayland_SRCS
-    PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-management-v2.xml
-    BASENAME kde-output-management-v2
-)
+    ecm_add_qtwayland_client_protocol(wayland_SRCS
+        PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-management-v2.xml
+        BASENAME kde-output-management-v2
+    )
 
-ecm_add_qtwayland_client_protocol(wayland_SRCS
-    PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-primary-output-v1.xml
-    BASENAME kde-primary-output-v1
-)
+    ecm_add_qtwayland_client_protocol(wayland_SRCS
+        PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-primary-output-v1.xml
+        BASENAME kde-primary-output-v1
+    )
+else()
+    qt6_generate_wayland_protocol_client_sources(KSC_KWayland FILES
+        ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-device-v2.xml
+        ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-management-v2.xml
+        ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-primary-output-v1.xml
+    )
+endif()
 
-add_library(KSC_KWayland MODULE ${wayland_SRCS})
+target_sources(KSC_KWayland PRIVATE ${wayland_SRCS})
 
 set_target_properties(KSC_KWayland PROPERTIES LIBRARY_OUTPUT_DIRECTORY 
"${CMAKE_BINARY_DIR}/bin/kf5/kscreen")
 set_target_properties(KSC_KWayland PROPERTIES PREFIX "")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkscreen-5.24.5/backends/kwayland/waylandoutputmanagement.cpp 
new/libkscreen-5.25.0/backends/kwayland/waylandoutputmanagement.cpp
--- old/libkscreen-5.24.5/backends/kwayland/waylandoutputmanagement.cpp 
2022-05-03 12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/kwayland/waylandoutputmanagement.cpp 
2022-06-09 11:11:47.000000000 +0200
@@ -43,6 +43,13 @@
 {
 }
 
+WaylandPrimaryOutput::~WaylandPrimaryOutput()
+{
+    if (kde_primary_output_v1_get_version(object()) >= 
KDE_PRIMARY_OUTPUT_V1_DESTROY_SINCE_VERSION) {
+        destroy();
+    }
+}
+
 void WaylandPrimaryOutput::kde_primary_output_v1_primary_output(const QString 
&outputName)
 {
     Q_EMIT primaryOutputChanged(outputName);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkscreen-5.24.5/backends/kwayland/waylandoutputmanagement.h 
new/libkscreen-5.25.0/backends/kwayland/waylandoutputmanagement.h
--- old/libkscreen-5.24.5/backends/kwayland/waylandoutputmanagement.h   
2022-05-03 12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/kwayland/waylandoutputmanagement.h   
2022-06-09 11:11:47.000000000 +0200
@@ -47,6 +47,7 @@
     Q_OBJECT
 public:
     WaylandPrimaryOutput(struct ::wl_registry *registry, int id, int version);
+    ~WaylandPrimaryOutput();
 
 Q_SIGNALS:
     void primaryOutputChanged(const QString &outputName);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/qscreen/CMakeLists.txt 
new/libkscreen-5.25.0/backends/qscreen/CMakeLists.txt
--- old/libkscreen-5.24.5/backends/qscreen/CMakeLists.txt       2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/qscreen/CMakeLists.txt       2022-06-09 
11:11:47.000000000 +0200
@@ -19,8 +19,10 @@
 set_target_properties(KSC_QScreen PROPERTIES PREFIX "")
 target_link_libraries(KSC_QScreen Qt::Core
                                  Qt::Gui
-                                 Qt::X11Extras
                                  KF5::Screen
 )
+if (TARGET Qt::X11Extras)
+    target_link_libraries(KSC_QScreen Qt::X11Extras)
+endif()
 
 install(TARGETS KSC_QScreen DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kscreen/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xcbeventlistener.cpp 
new/libkscreen-5.25.0/backends/xcbeventlistener.cpp
--- old/libkscreen-5.24.5/backends/xcbeventlistener.cpp 2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xcbeventlistener.cpp 2022-06-09 
11:11:47.000000000 +0200
@@ -7,7 +7,11 @@
 #include "xcbeventlistener.h"
 
 #include <QGuiApplication>
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 #include <QRect>
 
@@ -107,7 +111,11 @@
     return QStringLiteral("invalid value (%1)").arg(connection);
 }
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
 bool XCBEventListener::nativeEventFilter(const QByteArray &eventType, void 
*message, long int *result)
+#else
+bool XCBEventListener::nativeEventFilter(const QByteArray &eventType, void 
*message, qintptr *result)
+#endif
 {
     Q_UNUSED(result);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xcbeventlistener.h 
new/libkscreen-5.25.0/backends/xcbeventlistener.h
--- old/libkscreen-5.24.5/backends/xcbeventlistener.h   2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xcbeventlistener.h   2022-06-09 
11:11:47.000000000 +0200
@@ -22,7 +22,11 @@
     XCBEventListener();
     ~XCBEventListener() override;
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
     bool nativeEventFilter(const QByteArray &eventType, void *message, long 
int *result) override;
+#else
+    bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr 
*result) override;
+#endif
 
 Q_SIGNALS:
     /* Emitted when only XRandR 1.1 or older is available */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xcbwrapper.h 
new/libkscreen-5.25.0/backends/xcbwrapper.h
--- old/libkscreen-5.24.5/backends/xcbwrapper.h 2022-05-03 12:13:39.000000000 
+0200
+++ new/libkscreen-5.25.0/backends/xcbwrapper.h 2022-06-09 11:11:47.000000000 
+0200
@@ -15,7 +15,11 @@
 #include <type_traits>
 
 #include <QScopedPointer>
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 #include <xcb/randr.h>
 #include <xcb/xcb.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xrandr/CMakeLists.txt 
new/libkscreen-5.25.0/backends/xrandr/CMakeLists.txt
--- old/libkscreen-5.24.5/backends/xrandr/CMakeLists.txt        2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xrandr/CMakeLists.txt        2022-06-09 
11:11:47.000000000 +0200
@@ -20,9 +20,13 @@
 set_target_properties(KSC_XRandR PROPERTIES PREFIX "")
 target_link_libraries(KSC_XRandR Qt::Core
                                  Qt::Gui
-                                 Qt::X11Extras
                                  ${XCB_LIBRARIES}
                                  KF5::Screen
 )
+if (QT_MAJOR_VERSION EQUAL "5")
+    target_link_libraries(KSC_XRandR Qt::X11Extras)
+else()
+    target_link_libraries(KSC_XRandR Qt::GuiPrivate)
+endif()
 
 install(TARGETS KSC_XRandR DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kscreen/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xrandr/xrandr.cpp 
new/libkscreen-5.25.0/backends/xrandr/xrandr.cpp
--- old/libkscreen-5.24.5/backends/xrandr/xrandr.cpp    2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xrandr/xrandr.cpp    2022-06-09 
11:11:47.000000000 +0200
@@ -19,7 +19,11 @@
 #include <QTime>
 #include <QTimer>
 
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 xcb_screen_t *XRandR::s_screen = nullptr;
 xcb_window_t XRandR::s_rootWindow = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xrandr/xrandrconfig.cpp 
new/libkscreen-5.25.0/backends/xrandr/xrandrconfig.cpp
--- old/libkscreen-5.24.5/backends/xrandr/xrandrconfig.cpp      2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xrandr/xrandrconfig.cpp      2022-06-09 
11:11:47.000000000 +0200
@@ -18,7 +18,11 @@
 
 #include <QRect>
 #include <QScopedPointer>
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 using namespace KScreen;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xrandr/xrandrscreen.cpp 
new/libkscreen-5.25.0/backends/xrandr/xrandrscreen.cpp
--- old/libkscreen-5.24.5/backends/xrandr/xrandrscreen.cpp      2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xrandr/xrandrscreen.cpp      2022-06-09 
11:11:47.000000000 +0200
@@ -11,7 +11,11 @@
 #include "screen.h"
 #include "xrandrconfig.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 XRandRScreen::XRandRScreen(XRandRConfig *config)
     : QObject(config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/backends/xrandr1.1/CMakeLists.txt 
new/libkscreen-5.25.0/backends/xrandr1.1/CMakeLists.txt
--- old/libkscreen-5.24.5/backends/xrandr1.1/CMakeLists.txt     2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/backends/xrandr1.1/CMakeLists.txt     2022-06-09 
11:11:47.000000000 +0200
@@ -17,9 +17,13 @@
 set_target_properties(KSC_XRandR11 PROPERTIES PREFIX "")
 target_link_libraries(KSC_XRandR11 Qt::Core
                                    Qt::Gui
-                                   Qt::X11Extras
                                    ${XCB_LIBRARIES}
                                    KF5::Screen
 )
+if (QT_MAJOR_VERSION EQUAL "5")
+    target_link_libraries(KSC_XRandR11 Qt::X11Extras)
+else()
+    target_link_libraries(KSC_XRandR11 Qt::GuiPrivate)
+endif()
 
 install(TARGETS KSC_XRandR11 DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kscreen/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/CMakeLists.txt 
new/libkscreen-5.25.0/src/CMakeLists.txt
--- old/libkscreen-5.24.5/src/CMakeLists.txt    2022-05-03 12:13:39.000000000 
+0200
+++ new/libkscreen-5.25.0/src/CMakeLists.txt    2022-06-09 11:11:47.000000000 
+0200
@@ -40,8 +40,12 @@
     Qt::Gui
     PRIVATE
     Qt::DBus
-    Qt::X11Extras
 )
+if (QT_MAJOR_VERSION EQUAL "5")
+    target_link_libraries(KF5Screen PRIVATE Qt::X11Extras)
+else()
+    target_link_libraries(KF5Screen PRIVATE Qt::GuiPrivate)
+endif()
 
 set_target_properties(KF5Screen PROPERTIES
     VERSION "${KSCREEN_VERSION}"
@@ -49,7 +53,7 @@
     EXPORT_NAME Screen
 )
 
-target_include_directories(KF5Screen PUBLIC 
"$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KScreen>")
+target_include_directories(KF5Screen PUBLIC 
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KScreen>")
 
 install(TARGETS KF5Screen EXPORT KF5ScreenTargets 
${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
 add_library(KF5::Screen ALIAS KF5Screen)
@@ -72,12 +76,12 @@
 )
 
 install(FILES ${KScreen_HEADERS}
-        DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KScreen/KScreen
+        DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KScreen/KScreen
         COMPONENT Devel)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kscreen_export.h
               backendmanager_p.h # needed for unit-tests in KScreen
               ${KScreen_REQ_HEADERS}
-        DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KScreen/kscreen)
+        DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KScreen/kscreen)
 
 if(NOT WIN32)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kscreen2.pc.in 
${CMAKE_CURRENT_BINARY_DIR}/kscreen2.pc @ONLY)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/backendlauncher/CMakeLists.txt 
new/libkscreen-5.25.0/src/backendlauncher/CMakeLists.txt
--- old/libkscreen-5.24.5/src/backendlauncher/CMakeLists.txt    2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/backendlauncher/CMakeLists.txt    2022-06-09 
11:11:47.000000000 +0200
@@ -21,9 +21,13 @@
     KF5Screen
     Qt::Core
     Qt::Gui
-    Qt::X11Extras
     Qt::DBus
 )
+if (QT_MAJOR_VERSION EQUAL "5")
+    target_link_libraries(kscreen_backend_launcher Qt::X11Extras)
+else()
+    target_link_libraries(kscreen_backend_launcher Qt::GuiPrivate)
+endif()
 
 install(TARGETS kscreen_backend_launcher
         DESTINATION ${CMAKE_INSTALL_FULL_LIBEXECDIR_KF5}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkscreen-5.24.5/src/backendlauncher/backenddbuswrapper.h 
new/libkscreen-5.25.0/src/backendlauncher/backenddbuswrapper.h
--- old/libkscreen-5.24.5/src/backendlauncher/backenddbuswrapper.h      
2022-05-03 12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/backendlauncher/backenddbuswrapper.h      
2022-06-09 11:11:47.000000000 +0200
@@ -10,6 +10,7 @@
 
 #include <QObject>
 #include <QTimer>
+#include <QVariant>
 
 #include "types.h"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkscreen-5.24.5/src/backendlauncher/backendloader.cpp 
new/libkscreen-5.25.0/src/backendlauncher/backendloader.cpp
--- old/libkscreen-5.24.5/src/backendlauncher/backendloader.cpp 2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/backendlauncher/backendloader.cpp 2022-06-09 
11:11:47.000000000 +0200
@@ -16,7 +16,11 @@
 #include <QDBusConnectionInterface>
 #include <QDir>
 #include <QPluginLoader>
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 #include <memory>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/backendmanager.cpp 
new/libkscreen-5.25.0/src/backendmanager.cpp
--- old/libkscreen-5.24.5/src/backendmanager.cpp        2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/backendmanager.cpp        2022-06-09 
11:11:47.000000000 +0200
@@ -25,7 +25,11 @@
 #include <QGuiApplication>
 #include <QStandardPaths>
 #include <QThread>
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <private/qtx11extras_p.h>
+#else
 #include <QX11Info>
+#endif
 
 #include <memory>
 
@@ -227,7 +231,7 @@
     }
     // qCDebug(KSCREEN) << "Connecting ConfigMonitor to backend.";
     ConfigMonitor::instance()->connectInProcessBackend(backend);
-    m_inProcessBackend = qMakePair<KScreen::AbstractBackend *, 
QVariantMap>(backend, arguments);
+    m_inProcessBackend = qMakePair<KScreen::AbstractBackend *, 
QVariantMap>(static_cast<KScreen::AbstractBackend *>(backend), 
QVariantMap(arguments));
     setConfig(backend->config());
     return backend;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/config.h 
new/libkscreen-5.25.0/src/config.h
--- old/libkscreen-5.24.5/src/config.h  2022-05-03 12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/config.h  2022-06-09 11:11:47.000000000 +0200
@@ -9,6 +9,7 @@
 #define KSCREEN_CONFIG_H
 
 #include "kscreen_export.h"
+#include "output.h"
 #include "screen.h"
 #include "types.h"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/doctor/CMakeLists.txt 
new/libkscreen-5.25.0/src/doctor/CMakeLists.txt
--- old/libkscreen-5.24.5/src/doctor/CMakeLists.txt     2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/doctor/CMakeLists.txt     2022-06-09 
11:11:47.000000000 +0200
@@ -1,4 +1,13 @@
-
 add_executable(kscreen-doctor main.cpp doctor.cpp dpmsclient.cpp doctor.h 
dpmsclient.h)
-target_link_libraries(kscreen-doctor Qt::DBus KF5::Screen KF5::WaylandClient)
+
+if (QT_MAJOR_VERSION EQUAL "5")
+    ecm_add_qtwayland_client_protocol(kscreen-doctor
+        PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/dpms.xml
+        BASENAME dpms
+    )
+else()
+    qt6_generate_wayland_protocol_client_sources(kscreen-doctor FILES 
${PLASMA_WAYLAND_PROTOCOLS_DIR}/dpms.xml)
+endif()
+
+target_link_libraries(kscreen-doctor Qt::DBus KF5::Screen KF5::WaylandClient 
Wayland::Client Qt::WaylandClient)
 install(TARGETS kscreen-doctor ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/doctor/dpmsclient.cpp 
new/libkscreen-5.25.0/src/doctor/dpmsclient.cpp
--- old/libkscreen-5.24.5/src/doctor/dpmsclient.cpp     2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/doctor/dpmsclient.cpp     2022-06-09 
11:11:47.000000000 +0200
@@ -13,15 +13,64 @@
 #include <QThread>
 
 #include <KWayland/Client/connection_thread.h>
-#include <KWayland/Client/dpms.h>
 #include <KWayland/Client/output.h>
 #include <KWayland/Client/registry.h>
 
+#include "qwayland-dpms.h"
+#include <QtWaylandClient/qwaylandclientextension.h>
+
 Q_LOGGING_CATEGORY(KSCREEN_DPMS, "kscreen.dpms")
 
 using namespace KScreen;
 
-using namespace KWayland::Client;
+class DpmsManager : public QWaylandClientExtensionTemplate<DpmsManager>, 
public QtWayland::org_kde_kwin_dpms_manager
+{
+public:
+    DpmsManager()
+        : QWaylandClientExtensionTemplate<DpmsManager>(1)
+    {
+    }
+};
+
+class Dpms : public QObject, public QtWayland::org_kde_kwin_dpms
+{
+    Q_OBJECT
+public:
+    Dpms(struct ::org_kde_kwin_dpms *object, QObject *parent)
+        : QObject(parent)
+        , org_kde_kwin_dpms(object)
+    {
+    }
+
+    bool isSupported() const
+    {
+        return m_supported;
+    }
+
+    Q_SIGNAL void supportedChanged();
+    Q_SIGNAL void modeChanged();
+
+private:
+    bool m_supported = false;
+    bool m_pendingSupported = false;
+
+    void org_kde_kwin_dpms_supported(uint32_t supported) override
+    {
+        m_pendingSupported = supported;
+    }
+
+    void org_kde_kwin_dpms_mode(uint32_t mode) override
+    {
+        Q_UNUSED(mode);
+    }
+
+    void org_kde_kwin_dpms_done() override
+    {
+        m_supported = m_pendingSupported;
+        Q_EMIT supportedChanged();
+        Q_EMIT modeChanged();
+    }
+};
 
 DpmsClient::DpmsClient(QObject *parent)
     : QObject(parent)
@@ -39,65 +88,49 @@
 {
     // setup connection
     m_connection = KWayland::Client::ConnectionThread::fromApplication(this);
-    connected();
-}
 
-void DpmsClient::connected()
-{
     qDebug() << "Connected!";
     m_registry->create(m_connection);
-    QObject::connect(m_registry, &Registry::interfacesAnnounced, this, [this] {
-        const bool hasDpms = 
m_registry->hasInterface(Registry::Interface::Dpms);
-        // QLabel *hasDpmsLabel = new QLabel(&window);
+
+    m_registry->setup();
+
+    m_manager = new DpmsManager;
+
+    QObject::connect(m_manager, &DpmsManager::activeChanged, this, [this] {
+        const bool hasDpms = m_manager->isActive();
         if (hasDpms) {
             qDebug() << QStringLiteral("Compositor provides a DpmsManager");
         } else {
             qDebug() << QStringLiteral("Compositor does not provid a 
DpmsManager");
         }
 
-        if (hasDpms) {
-            const auto dpmsData = 
m_registry->interface(Registry::Interface::Dpms);
-            m_dpmsManager = m_registry->createDpmsManager(dpmsData.name, 
dpmsData.version);
-        }
-
         Q_EMIT this->ready();
     });
-    m_registry->setup();
 
     // QVERIFY(dpmsSpy.wait(100));
 }
 
-void KScreen::DpmsClient::changeMode(KWayland::Client::Dpms::Mode mode)
+void KScreen::DpmsClient::changeMode(Mode mode)
 {
-    const auto outputs = m_registry->interfaces(Registry::Interface::Output);
+    const auto outputs = 
m_registry->interfaces(KWayland::Client::Registry::Interface::Output);
     for (auto outputInterface : outputs) {
         KWayland::Client::Output *output = 
m_registry->createOutput(outputInterface.name, outputInterface.version, 
m_registry);
 
-        Dpms *dpms = nullptr;
-        if (m_dpmsManager) {
-            dpms = m_dpmsManager->getDpms(output, output);
-        }
+        Dpms *dpms = new Dpms(m_manager->get(output->output()), output);
 
-        if (dpms) {
-            QObject::connect(
-                dpms,
-                &Dpms::supportedChanged,
-                this,
-                [dpms, mode, output, this] {
-                    if (m_excludedOutputNames.contains(output->model())) {
-                        qDebug() << "Skipping" << output->model() << 
output->manufacturer();
-                        return;
-                    }
-
-                    if (dpms->isSupported()) {
-                        QObject::connect(dpms, &Dpms::modeChanged, this, 
&DpmsClient::modeChanged, Qt::QueuedConnection);
-                        qDebug() << "Switching" << output->model() << 
output->manufacturer() << (mode == Dpms::Mode::On ? "on" : "off");
-                        m_modeChanges++;
-                        dpms->requestMode(mode);
-                    }
-                },
-                Qt::QueuedConnection);
-        }
+        QObject::connect(dpms, &Dpms::supportedChanged, this, [dpms, mode, 
output, this] {
+            if (m_excludedOutputNames.contains(output->model())) {
+                qDebug() << "Skipping" << output->model() << 
output->manufacturer();
+                return;
+            }
+
+            if (dpms->isSupported()) {
+                QObject::connect(dpms, &Dpms::modeChanged, this, 
&DpmsClient::modeChanged, Qt::QueuedConnection);
+                qDebug() << "Switching" << output->model() << 
output->manufacturer() << (mode == Mode::On ? "on" : "off");
+                m_modeChanges++;
+                dpms->set(mode);
+            }
+        });
     }
 }
 
@@ -112,12 +145,14 @@
 
 void DpmsClient::on()
 {
-    changeMode(Dpms::Mode::On);
+    changeMode(Mode::On);
     // Q_EMIT finished();
 }
 
 void KScreen::DpmsClient::off()
 {
-    changeMode(Dpms::Mode::Off);
+    changeMode(Mode::Off);
     // Q_EMIT finished();
 }
+
+#include "dpmsclient.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/doctor/dpmsclient.h 
new/libkscreen-5.25.0/src/doctor/dpmsclient.h
--- old/libkscreen-5.24.5/src/doctor/dpmsclient.h       2022-05-03 
12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/doctor/dpmsclient.h       2022-06-09 
11:11:47.000000000 +0200
@@ -11,7 +11,6 @@
 #include <QObject>
 #include <QRect>
 
-#include <KWayland/Client/dpms.h>
 #include <KWayland/Client/registry.h>
 
 class QThread;
@@ -24,6 +23,9 @@
 }
 }
 
+class Dpms;
+class DpmsManager;
+
 namespace KScreen
 {
 class DpmsClient : public QObject
@@ -48,13 +50,18 @@
     void finished();
 
 private Q_SLOTS:
-    void connected();
     void modeChanged();
 
 private:
-    void changeMode(KWayland::Client::Dpms::Mode mode);
+    enum Mode {
+        On = 0,
+        Standby = 1,
+        Suspend = 2,
+        Off = 3,
+    };
+
+    void changeMode(Mode mode);
     KWayland::Client::ConnectionThread *m_connection = nullptr;
-    KWayland::Client::DpmsManager *m_dpmsManager = nullptr;
     KWayland::Client::Registry *m_registry = nullptr;
     bool m_setOff = true;
     bool m_setOn = false;
@@ -62,6 +69,7 @@
     bool m_supportedOututCount = 0;
     int m_modeChanges = 0;
     QStringList m_excludedOutputNames;
+    DpmsManager *m_manager;
 };
 
 } // namespace
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.24.5/src/edid.cpp 
new/libkscreen-5.25.0/src/edid.cpp
--- old/libkscreen-5.24.5/src/edid.cpp  2022-05-03 12:13:39.000000000 +0200
+++ new/libkscreen-5.25.0/src/edid.cpp  2022-06-09 11:11:47.000000000 +0200
@@ -253,9 +253,9 @@
      * |\---/\---/\---/
      * R  C1   C2   C3 */
     pnpId.resize(3);
-    pnpId[0] = 'A' + ((data[GCM_EDID_OFFSET_PNPID + 0] & 0x7c) / 4) - 1;
-    pnpId[1] = 'A' + ((data[GCM_EDID_OFFSET_PNPID + 0] & 0x3) * 8) + 
((data[GCM_EDID_OFFSET_PNPID + 1] & 0xe0) / 32) - 1;
-    pnpId[2] = 'A' + (data[GCM_EDID_OFFSET_PNPID + 1] & 0x1f) - 1;
+    pnpId[0] = QLatin1Char('A' + ((data[GCM_EDID_OFFSET_PNPID + 0] & 0x7c) / 
4) - 1);
+    pnpId[1] = QLatin1Char('A' + ((data[GCM_EDID_OFFSET_PNPID + 0] & 0x3) * 8) 
+ ((data[GCM_EDID_OFFSET_PNPID + 1] & 0xe0) / 32) - 1);
+    pnpId[2] = QLatin1Char('A' + (data[GCM_EDID_OFFSET_PNPID + 1] & 0x1f) - 1);
 
     // load the PNP_IDS file and load the vendor name
     QFile pnpIds(QStringLiteral(PNP_IDS));

Reply via email to