Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kguiaddons for openSUSE:Factory checked in at 2024-09-15 12:34:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kguiaddons (Old) and /work/SRC/openSUSE:Factory/.kf6-kguiaddons.new.29891 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kguiaddons" Sun Sep 15 12:34:10 2024 rev:7 rq:1201016 version:6.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kguiaddons/kf6-kguiaddons.changes 2024-08-10 19:10:23.828251962 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-kguiaddons.new.29891/kf6-kguiaddons.changes 2024-09-15 12:38:07.256833051 +0200 @@ -1,0 +2,17 @@ +Sat Sep 7 09:03:17 UTC 2024 - Christophe Marin <christo...@krop.fr> + +- Update to 6.6.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.6.0 +- Changes since 6.5.0: + * Update version to 6.6.0 + * Port towards QNativeInterface + * Fail at CMake configure time if xcb Qt feature is not enabled + * waylandclipboard: Dont explicitly clear when transfering sources + * [kjobwidgets] Store window in a QPointer + * ci: add Alpine/musl job + * KOverlayIconEngine: Adjust to API change in Qt 6.8 in scaled pixmap hook + * Generate wayland code with PRIVATE_CODE + +------------------------------------------------------------------- Old: ---- kguiaddons-6.5.0.tar.xz kguiaddons-6.5.0.tar.xz.sig New: ---- kguiaddons-6.6.0.tar.xz kguiaddons-6.6.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kguiaddons.spec ++++++ --- /var/tmp/diff_new_pack.shGPoz/_old 2024-09-15 12:38:07.828857102 +0200 +++ /var/tmp/diff_new_pack.shGPoz/_new 2024-09-15 12:38:07.832857271 +0200 @@ -19,13 +19,13 @@ %define qt6_version 6.6.0 %define rname kguiaddons -# Full KF6 version (e.g. 6.5.0) +# Full KF6 version (e.g. 6.6.0) %{!?_kf6_version: %global _kf6_version %{version}} # Last major and minor KF6 version (e.g. 6.0) %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kf6-kguiaddons -Version: 6.5.0 +Version: 6.6.0 Release: 0 Summary: Utilities for graphical user interfaces License: LGPL-2.1-or-later ++++++ kguiaddons-6.5.0.tar.xz -> kguiaddons-6.6.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/.gitlab-ci.yml new/kguiaddons-6.6.0/.gitlab-ci.yml --- old/kguiaddons-6.5.0/.gitlab-ci.yml 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/.gitlab-ci.yml 2024-09-06 13:37:41.000000000 +0200 @@ -9,3 +9,4 @@ - /gitlab-templates/freebsd-qt6.yml - /gitlab-templates/freebsd-qt6.yml - /gitlab-templates/windows-qt6.yml + - /gitlab-templates/alpine-qt6.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/CMakeLists.txt new/kguiaddons-6.6.0/CMakeLists.txt --- old/kguiaddons-6.5.0/CMakeLists.txt 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/CMakeLists.txt 2024-09-06 13:37:41.000000000 +0200 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.5.0") # handled by release scripts +set(KF_VERSION "6.6.0") # handled by release scripts project(KGuiAddons VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 6.5.0 NO_MODULE) +find_package(ECM 6.6.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) @@ -49,6 +49,9 @@ if (WITH_X11) find_package(X11 REQUIRED MODULE) find_package(XCB REQUIRED MODULE COMPONENTS XCB) + if(NOT QT_FEATURE_xcb) + message(FATAL_ERROR "Qt xcb feature is missing for compilation with X11") + endif() endif() if (WITH_WAYLAND) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/src/CMakeLists.txt new/kguiaddons-6.6.0/src/CMakeLists.txt --- old/kguiaddons-6.5.0/src/CMakeLists.txt 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/src/CMakeLists.txt 2024-09-06 13:37:41.000000000 +0200 @@ -79,12 +79,16 @@ endif() if(WITH_WAYLAND) + if (Qt6_VERSION VERSION_GREATER_EQUAL "6.8.0") + set(private_code_option "PRIVATE_CODE") + endif() qt_generate_wayland_protocol_client_sources(KF6GuiAddons FILES "${CMAKE_CURRENT_SOURCE_DIR}/recorder/keyboard-shortcuts-inhibit-unstable-v1.xml" "${CMAKE_CURRENT_SOURCE_DIR}/systemclipboard/wlr-data-control-unstable-v1.xml" "${PLASMA_WAYLAND_PROTOCOLS_DIR}/keystate.xml" "${Wayland_DATADIR}/wayland.xml" + ${private_code_option} ) target_sources(KF6GuiAddons PRIVATE recorder/waylandinhibition.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/src/recorder/waylandinhibition.cpp new/kguiaddons-6.6.0/src/recorder/waylandinhibition.cpp --- old/kguiaddons-6.5.0/src/recorder/waylandinhibition.cpp 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/src/recorder/waylandinhibition.cpp 2024-09-06 13:37:41.000000000 +0200 @@ -9,8 +9,8 @@ #include <QGuiApplication> #include <QSharedPointer> #include <QWaylandClientExtensionTemplate> -#include <QtWaylandClientVersion> -#include <qpa/qplatformnativeinterface.h> +#include <QWindow> +#include <qpa/qplatformwindow_p.h> #include "qwayland-keyboard-shortcuts-inhibit-unstable-v1.h" @@ -66,12 +66,15 @@ if (m_inhibitions.contains(window)) { return; } - QPlatformNativeInterface *nativeInterface = qGuiApp->platformNativeInterface(); - if (!nativeInterface) { + auto waylandApp = qGuiApp->nativeInterface<QNativeInterface::QWaylandApplication>(); + auto waylandWindow = window->nativeInterface<QNativeInterface::Private::QWaylandWindow>(); + if (!waylandApp || !waylandWindow) { return; } - auto seat = static_cast<wl_seat *>(nativeInterface->nativeResourceForIntegration("wl_seat")); - auto surface = static_cast<wl_surface *>(nativeInterface->nativeResourceForWindow("surface", window)); + + auto seat = waylandApp->lastInputSeat(); + auto surface = waylandWindow->surface(); + if (!seat || !surface) { return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/src/systemclipboard/waylandclipboard.cpp new/kguiaddons-6.6.0/src/systemclipboard/waylandclipboard.cpp --- old/kguiaddons-6.5.0/src/systemclipboard/waylandclipboard.cpp 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/src/systemclipboard/waylandclipboard.cpp 2024-09-06 13:37:41.000000000 +0200 @@ -17,7 +17,6 @@ #include <QWaylandClientExtension> #include <QWindow> #include <QtWaylandClientVersion> -#include <qpa/qplatformnativeinterface.h> #include <errno.h> #include <poll.h> @@ -206,8 +205,9 @@ * However this isn't actually any worse than X. */ - QPlatformNativeInterface *native = qGuiApp->platformNativeInterface(); - auto display = static_cast<struct ::wl_display *>(native->nativeResourceForIntegration("wl_display")); + auto waylandApp = qGuiApp->nativeInterface<QNativeInterface::QWaylandApplication>(); + auto display = waylandApp->display(); + wl_display_flush(display); QFile readPipe; @@ -475,8 +475,8 @@ : QWaylandClientExtensionTemplate(5) { initialize(); - auto native = qGuiApp->platformNativeInterface(); - auto display = static_cast<struct ::wl_display *>(native->nativeResourceForIntegration("wl_display")); + auto waylandApp = qGuiApp->nativeInterface<QNativeInterface::QWaylandApplication>(); + auto display = waylandApp->display(); // so we get capabilities wl_display_roundtrip(display); } @@ -541,11 +541,12 @@ { connect(m_manager.get(), &DataControlDeviceManager::activeChanged, this, [this]() { if (m_manager->isActive()) { - QPlatformNativeInterface *native = qApp->platformNativeInterface(); - if (!native) { + auto waylandApp = qGuiApp->nativeInterface<QNativeInterface::QWaylandApplication>(); + if (!waylandApp) { return; } - auto seat = static_cast<struct ::wl_seat *>(native->nativeResourceForIntegration("wl_seat")); + auto seat = waylandApp->seat(); + if (!seat) { return; } @@ -593,8 +594,8 @@ } // roundtrip to have accurate focus state when losing focus but setting mime data before processing wayland events. - auto native = qGuiApp->platformNativeInterface(); - auto display = static_cast<struct ::wl_display *>(native->nativeResourceForIntegration("wl_display")); + auto waylandApp = qGuiApp->nativeInterface<QNativeInterface::QWaylandApplication>(); + auto display = waylandApp->display(); wl_display_roundtrip(display); // If the application is focused, use the normal mechanism so a future paste will not deadlock itselfs @@ -622,12 +623,12 @@ // QClipboard takes ownership of the QMimeData so we need to transfer and unset our selections if (auto &selection = m_device->m_selection) { std::unique_ptr<QMimeData> data = selection->releaseMimeData(); - WaylandClipboard::clear(QClipboard::Clipboard); + selection.reset(); QGuiApplication::clipboard()->setMimeData(data.release(), QClipboard::Clipboard); } if (auto &primarySelection = m_device->m_primarySelection) { std::unique_ptr<QMimeData> data = primarySelection->releaseMimeData(); - WaylandClipboard::clear(QClipboard::Selection); + primarySelection.reset(); QGuiApplication::clipboard()->setMimeData(data.release(), QClipboard::Selection); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/src/util/kiconutils.cpp new/kguiaddons-6.6.0/src/util/kiconutils.cpp --- old/kguiaddons-6.5.0/src/util/kiconutils.cpp 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/src/util/kiconutils.cpp 2024-09-06 13:37:41.000000000 +0200 @@ -10,7 +10,9 @@ #include <QHash> #include <QIconEngine> +#include <QLibraryInfo> #include <QPainter> +#include <QVersionNumber> class KOverlayIconEngine : public QIconEngine { @@ -105,7 +107,13 @@ if (id == QIconEngine::ScaledPixmapHook) { auto *info = reinterpret_cast<ScaledPixmapArgument *>(data); - QPixmap pixmap(info->size); + QSize phyiscalSize = info->size; + // Since https://codereview.qt-project.org/c/qt/qtbase/+/563553 size is in logical pixels + if (QLibraryInfo::version() >= QVersionNumber(6, 8, 0)) { + phyiscalSize *= info->scale; + } + + QPixmap pixmap(phyiscalSize); pixmap.setDevicePixelRatio(info->scale); pixmap.fill(Qt::transparent); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/src/util/kjobwindows.cpp new/kguiaddons-6.6.0/src/util/kjobwindows.cpp --- old/kguiaddons-6.5.0/src/util/kjobwindows.cpp 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/src/util/kjobwindows.cpp 2024-09-06 13:37:41.000000000 +0200 @@ -7,12 +7,13 @@ #include "kjobwindows.h" #include <QObject> +#include <QPointer> #include <QVariant> #include <QWindow> void KJobWindows::setWindow(QObject *job, QWindow *window) { - job->setProperty("window", QVariant::fromValue(window)); + job->setProperty("window", QVariant::fromValue(QPointer<QWindow>(window))); if (window) { job->setProperty("window-id", QVariant::fromValue(window->winId())); } @@ -20,5 +21,5 @@ QWindow *KJobWindows::window(QObject *job) { - return job->property("window").value<QWindow *>(); + return job->property("window").value<QPointer<QWindow>>(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.5.0/src/util/kmodifierkeyinfoprovider_xcb.h new/kguiaddons-6.6.0/src/util/kmodifierkeyinfoprovider_xcb.h --- old/kguiaddons-6.5.0/src/util/kmodifierkeyinfoprovider_xcb.h 2024-08-02 13:13:23.000000000 +0200 +++ new/kguiaddons-6.6.0/src/util/kmodifierkeyinfoprovider_xcb.h 2024-09-06 13:37:41.000000000 +0200 @@ -10,6 +10,7 @@ #include "kmodifierkeyinfoprovider_p.h" #include <QAbstractNativeEventFilter> + class KModifierKeyInfoProviderXcb : public KModifierKeyInfoProvider, public QAbstractNativeEventFilter { Q_OBJECT