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 2026-09-11 17:59:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kguiaddons (Old) and /work/SRC/openSUSE:Factory/.kf6-kguiaddons.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kguiaddons" Fri Sep 11 17:59:46 2026 rev:33 rq:1376695 version:6.30.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kguiaddons/kf6-kguiaddons.changes 2026-08-17 16:59:30.330118946 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-kguiaddons.new.1265/kf6-kguiaddons.changes 2026-09-11 18:02:05.878764492 +0200 @@ -1,0 +2,16 @@ +Tue Sep 8 09:22:04 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.30.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.30.0 +- Changes since 6.29.0: + * Update dependency version to 6.30.0 + * Add geo: URI handler for Cartes + * Add support to pass along the unmodified geo: URI in an URL template + * Fix geo: URI query string encoding + * Reuse explicitly provided image data (kde#519651) + * waylandclipboard: Check isInterruptionRequested in prepare read loop (kde#517743) + * Update version to 6.30.0 + +------------------------------------------------------------------- Old: ---- kguiaddons-6.29.0.tar.xz kguiaddons-6.29.0.tar.xz.sig New: ---- kguiaddons-6.30.0.tar.xz kguiaddons-6.30.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kguiaddons.spec ++++++ --- /var/tmp/diff_new_pack.f7AcxS/_old 2026-09-11 18:02:07.778843579 +0200 +++ /var/tmp/diff_new_pack.f7AcxS/_new 2026-09-11 18:02:07.780843662 +0200 @@ -28,11 +28,11 @@ %define mypython_sitearch %{expand:%%%{mypython}_sitearch} %endif -# Full KF6 version (e.g. 6.29.0) +# Full KF6 version (e.g. 6.30.0) %{!?_kf6_version: %global _kf6_version %{version}} %bcond_without released Name: kf6-kguiaddons -Version: 6.29.0 +Version: 6.30.0 Release: 0 Summary: Utilities for graphical user interfaces License: LGPL-2.1-or-later @@ -130,6 +130,7 @@ %files %{_kf6_applicationsdir}/google-maps-geo-handler.desktop %{_kf6_applicationsdir}/openstreetmap-geo-handler.desktop +%{_kf6_applicationsdir}/cartes-geo-handler.desktop %{_kf6_applicationsdir}/wheelmap-geo-handler.desktop %{_kf6_bindir}/kde-geo-uri-handler %{_kf6_debugdir}/kguiaddons.categories ++++++ kguiaddons-6.29.0.tar.xz -> kguiaddons-6.30.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/CMakeLists.txt new/kguiaddons-6.30.0/CMakeLists.txt --- old/kguiaddons-6.29.0/CMakeLists.txt 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/CMakeLists.txt 2026-09-04 13:38:35.000000000 +0200 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.29) -set(KF_VERSION "6.29.0") # handled by release scripts +set(KF_VERSION "6.30.0") # handled by release scripts project(KGuiAddons VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 6.29.0 NO_MODULE) +find_package(ECM 6.30.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) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/autotests/kgeourihandlertest.cpp new/kguiaddons-6.30.0/autotests/kgeourihandlertest.cpp --- old/kguiaddons-6.29.0/autotests/kgeourihandlertest.cpp 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/autotests/kgeourihandlertest.cpp 2026-09-04 13:38:35.000000000 +0200 @@ -7,6 +7,8 @@ #include <QTest> +using namespace Qt::Literals; + class KGeoUriHandlerTest : public QObject { Q_OBJECT @@ -36,6 +38,8 @@ QTest::newRow("query") << QStringLiteral("geo:0,0?q=Randa") << QStringLiteral("https://www.openstreetmap.org/search?query=Randa"); QTest::newRow("query-with-coord") << QStringLiteral("geo:46.1,7.783?q=Randa") << QStringLiteral("https://www.openstreetmap.org/search?query=Randa"); + QTest::newRow("query-encoding") << u"geo:0,0?q=Food%20%26%20Drinks"_s << u"https://www.openstreetmap.org/search?query=Food%20%26%20Drinks"_s; + // explicit coordinate reference systems QTest::newRow("WGS84") << QStringLiteral("geo:37.78,-122.4;u=35;crs=wgs84") << QStringLiteral("https://www.openstreetmap.org/#map=18/37.78/-122.4"); QTest::newRow("EPSG:32618") << QStringLiteral("geo:323482,4306480;crs=EPSG:32618;u=20") << QStringLiteral("https://openstreetmap.org"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/src/geo-scheme-handler/CMakeLists.txt new/kguiaddons-6.30.0/src/geo-scheme-handler/CMakeLists.txt --- old/kguiaddons-6.29.0/src/geo-scheme-handler/CMakeLists.txt 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/src/geo-scheme-handler/CMakeLists.txt 2026-09-04 13:38:35.000000000 +0200 @@ -13,6 +13,7 @@ install(TARGETS kde-geo-uri-handler ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) install( FILES + cartes-geo-handler.desktop google-maps-geo-handler.desktop openstreetmap-geo-handler.desktop wheelmap-geo-handler.desktop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/src/geo-scheme-handler/cartes-geo-handler.desktop new/kguiaddons-6.30.0/src/geo-scheme-handler/cartes-geo-handler.desktop --- old/kguiaddons-6.29.0/src/geo-scheme-handler/cartes-geo-handler.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/kguiaddons-6.30.0/src/geo-scheme-handler/cartes-geo-handler.desktop 2026-09-04 13:38:35.000000000 +0200 @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Exec=kde-geo-uri-handler --coordinate-template "https://cartes.app/?geo=<URI>" --query-template "https://cartes.app/?geo=<URI>" --fallback "https://cartes.app" %u +Name=Cartes +Icon=map-globe +MimeType=x-scheme-handler/geo; +Terminal=false +NoDisplay=true +StartupNotify=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/src/geo-scheme-handler/kgeourihandler.cpp new/kguiaddons-6.30.0/src/geo-scheme-handler/kgeourihandler.cpp --- old/kguiaddons-6.29.0/src/geo-scheme-handler/kgeourihandler.cpp 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/src/geo-scheme-handler/kgeourihandler.cpp 2026-09-04 13:38:35.000000000 +0200 @@ -63,7 +63,8 @@ tmpl.replace(QLatin1String("<LAT>"), QString::number(lat)); tmpl.replace(QLatin1String("<LON>"), QString::number(lon)); - tmpl.replace(QLatin1String("<Q>"), query); + tmpl.replace(QLatin1String("<Q>"), QString::fromUtf8(QUrl::toPercentEncoding(query))); tmpl.replace(QLatin1String("<Z>"), QString::number(zoom)); + tmpl.replace(QLatin1String("<URI>"), QString::fromUtf8(QUrl::toPercentEncoding(geoUri.toString(QUrl::FullyEncoded)))); return tmpl; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/src/geo-scheme-handler/kgeourihandler_p.h new/kguiaddons-6.30.0/src/geo-scheme-handler/kgeourihandler_p.h --- old/kguiaddons-6.29.0/src/geo-scheme-handler/kgeourihandler_p.h 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/src/geo-scheme-handler/kgeourihandler_p.h 2026-09-04 13:38:35.000000000 +0200 @@ -22,6 +22,7 @@ * - LON - the longitude * - Q - the query string * - Z - the zoom level for a Web Mercator map projection + * - URI - the verbatim input geo: URI * * \sa https://en.wikipedia.org/wiki/Geo_URI_scheme * \sa https://datatracker.ietf.org/doc/html/rfc5870 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/src/systemclipboard/waylandclipboard.cpp new/kguiaddons-6.30.0/src/systemclipboard/waylandclipboard.cpp --- old/kguiaddons-6.29.0/src/systemclipboard/waylandclipboard.cpp 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/src/systemclipboard/waylandclipboard.cpp 2026-09-04 13:38:35.000000000 +0200 @@ -359,24 +359,19 @@ // if we get a request on the fallback mime, send the data from the original mime type send_mime_type = QStringLiteral("text/plain"); } + if (mime_type == applicationQtXImageLiteral()) { + send_mime_type = QStringLiteral("image/png"); + } + const auto formats = m_mimeData->formats(); QByteArray ba; - - // adapted from QInternalMimeData::renderDataHelper - if (mime_type == applicationQtXImageLiteral() || mime_type.startsWith(QLatin1String("image/"))) { - if (m_mimeData->hasImage()) { - const QImage image = qvariant_cast<QImage>(m_mimeData->imageData()); - QBuffer buf(&ba); - buf.open(QBuffer::WriteOnly); - if (mime_type == applicationQtXImageLiteral()) { - // would there not be PNG ?? - image.save(&buf, "PNG"); - } else { - image.save(&buf, mime_type.mid(mime_type.indexOf(QLatin1Char('/')) + 1).toLatin1().toUpper().data()); - } - } - } else { // end adapted + if (formats.contains(send_mime_type)) { ba = m_mimeData->data(send_mime_type); + } else if (m_mimeData->hasImage() && send_mime_type.startsWith(QLatin1String("image/"))) { + const QImage image = qvariant_cast<QImage>(m_mimeData->imageData()); + QBuffer buf(&ba); + buf.open(QBuffer::WriteOnly); + image.save(&buf, send_mime_type.mid(send_mime_type.indexOf(QLatin1Char('/')) + 1).toLatin1().toUpper().data()); } auto rc = WaylandPipeWriterHelper::safeWriteWithTimeout(fd, ba.constData(), ba.size(), PIPE_BUF, 5s); @@ -552,7 +547,7 @@ void run() override { while (!isInterruptionRequested()) { - while (wl_display_prepare_read_queue(m_display, m_queue) != 0) { + while (!isInterruptionRequested() && wl_display_prepare_read_queue(m_display, m_queue) != 0) { QMutexLocker lock(&s_clipboardLock); wl_display_dispatch_queue_pending(m_display, m_queue); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.29.0/src/systemclipboard/wlrwaylandclipboard.cpp new/kguiaddons-6.30.0/src/systemclipboard/wlrwaylandclipboard.cpp --- old/kguiaddons-6.29.0/src/systemclipboard/wlrwaylandclipboard.cpp 2026-08-07 22:40:29.000000000 +0200 +++ new/kguiaddons-6.30.0/src/systemclipboard/wlrwaylandclipboard.cpp 2026-09-04 13:38:35.000000000 +0200 @@ -344,26 +344,19 @@ // if we get a request on the fallback mime, send the data from the original mime type send_mime_type = QStringLiteral("text/plain"); } + if (mime_type == applicationQtXImageLiteral()) { + send_mime_type = QStringLiteral("image/png"); + } + const auto formats = m_mimeData->formats(); QByteArray ba; - if (m_mimeData->hasImage()) { - // adapted from QInternalMimeData::renderDataHelper - if (mime_type == applicationQtXImageLiteral()) { - QImage image = qvariant_cast<QImage>(m_mimeData->imageData()); - QBuffer buf(&ba); - buf.open(QBuffer::WriteOnly); - // would there not be PNG ?? - image.save(&buf, "PNG"); - - } else if (mime_type.startsWith(QLatin1String("image/"))) { - QImage image = qvariant_cast<QImage>(m_mimeData->imageData()); - QBuffer buf(&ba); - buf.open(QBuffer::WriteOnly); - image.save(&buf, mime_type.mid(mime_type.indexOf(QLatin1Char('/')) + 1).toLatin1().toUpper().data()); - } - // end adapted - } else { + if (formats.contains(send_mime_type)) { ba = m_mimeData->data(send_mime_type); + } else if (m_mimeData->hasImage() && send_mime_type.startsWith(QLatin1String("image/"))) { + const QImage image = qvariant_cast<QImage>(m_mimeData->imageData()); + QBuffer buf(&ba); + buf.open(QBuffer::WriteOnly); + image.save(&buf, send_mime_type.mid(send_mime_type.indexOf(QLatin1Char('/')) + 1).toLatin1().toUpper().data()); } QFile c;
