Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kcrash for openSUSE:Factory checked in at 2026-08-17 16:56:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kcrash (Old) and /work/SRC/openSUSE:Factory/.kf6-kcrash.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kcrash" Mon Aug 17 16:56:21 2026 rev:30 rq:1371371 version:6.29.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kcrash/kf6-kcrash.changes 2026-07-15 16:35:16.981570734 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-kcrash.new.1258/kf6-kcrash.changes 2026-08-17 16:59:11.737462025 +0200 @@ -1,0 +2,13 @@ +Sun Aug 9 10:38:28 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.29.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.29.0 +- Changes since 6.28.0: + * Update dependency version to 6.29.0 + * delete the char ptrs properly as arrays + * load platform details ahead of time (kde#518503) + * Update version to 6.29.0 + +------------------------------------------------------------------- Old: ---- kcrash-6.28.0.tar.xz kcrash-6.28.0.tar.xz.sig New: ---- kcrash-6.29.0.tar.xz kcrash-6.29.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kcrash.spec ++++++ --- /var/tmp/diff_new_pack.h9ImNE/_old 2026-08-17 16:59:12.342483402 +0200 +++ /var/tmp/diff_new_pack.h9ImNE/_new 2026-08-17 16:59:12.343483437 +0200 @@ -19,11 +19,11 @@ %define qt6_version 6.9.0 %define rname kcrash -# Full KF6 version (e.g. 6.28.0) +# Full KF6 version (e.g. 6.29.0) %{!?_kf6_version: %global _kf6_version %{version}} %bcond_without released Name: kf6-kcrash -Version: 6.28.0 +Version: 6.29.0 Release: 0 Summary: An application crash handler License: LGPL-2.1-or-later ++++++ kcrash-6.28.0.tar.xz -> kcrash-6.29.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcrash-6.28.0/CMakeLists.txt new/kcrash-6.29.0/CMakeLists.txt --- old/kcrash-6.28.0/CMakeLists.txt 2026-07-03 12:53:51.000000000 +0200 +++ new/kcrash-6.29.0/CMakeLists.txt 2026-08-07 22:39:52.000000000 +0200 @@ -1,14 +1,14 @@ cmake_minimum_required(VERSION 3.29) -set(KF_VERSION "6.28.0") # handled by release scripts -set(KF_DEP_VERSION "6.28.0") # handled by release scripts +set(KF_VERSION "6.29.0") # handled by release scripts +set(KF_DEP_VERSION "6.29.0") # handled by release scripts project(KCrash VERSION ${KF_VERSION}) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(FeatureSummary) -find_package(ECM 6.28.0 NO_MODULE) +find_package(ECM 6.29.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/kcrash-6.28.0/src/android/res/values-ia/strings.xml new/kcrash-6.29.0/src/android/res/values-ia/strings.xml --- old/kcrash-6.28.0/src/android/res/values-ia/strings.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/kcrash-6.29.0/src/android/res/values-ia/strings.xml 2026-08-07 22:39:52.000000000 +0200 @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='utf-8'?> +<resources> + <string name="submit_dialog_title">Submitte reporto de fracasso</string> + <string name="submit_dialog_text">Tu vole submittee un reporto de fracasso automatic?</string> +</resources> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcrash-6.28.0/src/kcrash.cpp new/kcrash-6.29.0/src/kcrash.cpp --- old/kcrash-6.28.0/src/kcrash.cpp 2026-07-03 12:53:51.000000000 +0200 +++ new/kcrash-6.29.0/src/kcrash.cpp 2026-08-07 22:39:52.000000000 +0200 @@ -135,6 +135,11 @@ std::unique_ptr<const DetailsHash> s_tags; // Sentry tags std::unique_ptr<const DetailsHash> s_extraData; // Sentry extra data std::unique_ptr<const DetailsHash> s_gpuContext; // Sentry gpu context +// Mind that qstrdup uses new[] so we also need to delete[], that is why we declare these char[]. +std::unique_ptr<char[]> s_qtPlatform; +#if HAVE_X11 +std::unique_ptr<char[]> s_x11Display; +#endif QString bootId() { @@ -150,6 +155,38 @@ #endif } +void loadPlatformDetails() +{ + // This entire function is only relevant for just-in-time debugging (JIT). + // When that gets removed this function can be removed as well. + + const auto platformName = QGuiApplication::platformName().toUtf8(); + + if (platformName == "wayland-org.kde.kwin.qpa"_ba) { + s_qtPlatform.reset(qstrdup("wayland")); + } else { + s_qtPlatform.reset(qstrdup(platformName.constData())); + } + +#if HAVE_X11 + if (platformName == "xcb"_ba) { + // start up on the correct display + char *display = nullptr; + if (qGuiApp) { + if (auto disp = qGuiApp->nativeInterface<QNativeInterface::QX11Application>()->display()) { + display = XDisplayString(disp); + } + } + if (!display) { + display = getenv("DISPLAY"); + } + if (display) { + s_x11Display.reset(qstrdup(display)); + } + } +#endif +} + } // namespace static QStringList libexecPaths() @@ -220,6 +257,7 @@ const QString path = QCoreApplication::applicationFilePath(); s_appFilePath.reset(qstrdup(qPrintable(path))); // This intentionally cannot be changed by the application! KCrash::setApplicationFilePath(path); + loadPlatformDetails(); } else { qWarning() << "This process needs a QCoreApplication instance in order to use KCrash"; } @@ -537,28 +575,13 @@ data.add("--kdeframeworksversion", KCRASH_VERSION_STRING); - const QByteArray platformName = QGuiApplication::platformName().toUtf8(); - if (!platformName.isEmpty()) { - if (strcmp(platformName.constData(), "wayland-org.kde.kwin.qpa") == 0) { // redirect kwin's internal QPA to wayland proper - data.add("--platform", "wayland"); - } else { - data.add("--platform", platformName.constData()); - } + if (s_qtPlatform) { + data.add("--platform", s_qtPlatform.get()); } #if HAVE_X11 - if (platformName == QByteArrayLiteral("xcb")) { - // start up on the correct display - char *display = nullptr; - if (qGuiApp) { - if (auto disp = qGuiApp->nativeInterface<QNativeInterface::QX11Application>()->display()) { - display = XDisplayString(disp); - } - } - if (!display) { - display = getenv("DISPLAY"); - } - data.add("--display", display); + if (s_x11Display) { + data.add("--display", s_x11Display.get()); } #endif
