Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-tools for openSUSE:Factory checked in at 2026-08-19 17:54:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-tools (Old) and /work/SRC/openSUSE:Factory/.qt6-tools.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-tools" Wed Aug 19 17:54:55 2026 rev:59 rq:1371623 version:6.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-tools/qt6-tools.changes 2026-05-28 17:26:24.426397547 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-tools.new.1258/qt6-tools.changes 2026-08-19 17:54:58.310777735 +0200 @@ -1,0 +2,6 @@ +Fri Aug 14 09:13:43 UTC 2026 - Fabian Vogt <[email protected]> + +- Add patch to make documentation more reproducible (QTBUG-145807): + * 0001-QDoc-Use-deterministic-tiebreaker-for-shared-notifie.patch + +------------------------------------------------------------------- New: ---- 0001-QDoc-Use-deterministic-tiebreaker-for-shared-notifie.patch ----------(New B)---------- New:- Add patch to make documentation more reproducible (QTBUG-145807): * 0001-QDoc-Use-deterministic-tiebreaker-for-shared-notifie.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-tools.spec ++++++ --- /var/tmp/diff_new_pack.gRkKoh/_old 2026-08-19 17:54:59.116806855 +0200 +++ /var/tmp/diff_new_pack.gRkKoh/_new 2026-08-19 17:54:59.117806891 +0200 @@ -51,6 +51,8 @@ # PATCH-FIX-UPSTREAM -- llvm 22 support Patch0: 0001-QDoc-Add-LLVM-22-implementation-to-QualTypeNames-for.patch Patch1: 0002-CMake-Add-LLVM-22-to-supported-QDoc-Clang-versions.patch +# PATCH-FIX-UPSTREAM +Patch2: 0001-QDoc-Use-deterministic-tiebreaker-for-shared-notifie.patch # clang-devel in Leap 15 points to clang7... %if 0%{?suse_version} == 1500 # Leap 15.6 has llvm 19 since 2025-02-12, we need to use it to avoid doc build issues ++++++ 0001-QDoc-Use-deterministic-tiebreaker-for-shared-notifie.patch ++++++ >From 470c06d07e1024e021b4c325366f090ac6173945 Mon Sep 17 00:00:00 2001 From: Paul Wicking <[email protected]> Date: Wed, 15 Apr 2026 06:38:39 +0200 Subject: [PATCH] QDoc: Use deterministic tiebreaker for shared notifier signal anchors When multiple properties share the same NOTIFY signal, QDoc selects one as the anchor target for documentation links. The existing heuristic matches properties whose name is a prefix of the signal name, but when no prefix match exists, the selection falls back to whichever property appears first in an internal list. This order depends on pointer-keyed map traversal, making the output non-deterministic. Using alphabetical order by property name as the fallback ensures stable output regardless of tree traversal order. Fixes: QTBUG-145807 Change-Id: I9d1c4f53ea3eb8c879b0ef5f1b07e3748cfa797e Reviewed-by: Topi Reinio <[email protected]> (cherry picked from commit 4a210acd7f98881c722f52735a62041d55cfe452) --- src/qdoc/qdoc/src/qdoc/functionnode.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/qdoc/qdoc/src/qdoc/functionnode.cpp b/src/qdoc/qdoc/src/qdoc/functionnode.cpp index c87ee46c2f32..3807c6202010 100644 --- a/src/qdoc/qdoc/src/qdoc/functionnode.cpp +++ b/src/qdoc/qdoc/src/qdoc/functionnode.cpp @@ -325,10 +325,10 @@ void FunctionNode::addAssociatedProperty(PropertyNode *p) Returns the \e primary associated property, if this is an access function for one or more properties. - An associated property is considered a primary if this - function's name starts with the property name. If there's - no such property, return the first one available as a - fallback. + An associated property is considered primary if this + function's name starts with the property name. If no + prefix match exists, the property with the alphabetically + first name is returned for deterministic output. If no associated properties exist, returns \nullptr. */ @@ -344,8 +344,15 @@ const PropertyNode *FunctionNode::primaryAssociatedProperty() const [this](const PropertyNode *p) { return name().startsWith(p->name()); }); + if (it != m_associatedProperties.cend()) + return *it; - return it != m_associatedProperties.cend() ? *it : m_associatedProperties[0]; + // No prefix match: multiple properties share this signal but none + // match by name. Pick alphabetically for deterministic output + // regardless of tree traversal order. + return *std::min_element( + m_associatedProperties.cbegin(), m_associatedProperties.cend(), + [](const PropertyNode *a, const PropertyNode *b) { return a->name() < b->name(); }); } /*! -- 2.55.0
