Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-kirigami for openSUSE:Factory 
checked in at 2025-05-15 16:59:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-kirigami (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-kirigami.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-kirigami"

Thu May 15 16:59:41 2025 rev:18 rq:1277240 version:6.14.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-kirigami/kf6-kirigami.changes        
2025-05-12 16:47:08.040278754 +0200
+++ /work/SRC/openSUSE:Factory/.kf6-kirigami.new.30101/kf6-kirigami.changes     
2025-05-15 17:00:09.455133976 +0200
@@ -1,0 +2,9 @@
+Tue May 13 16:10:30 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Add upstream changes:
+  * 0001-WheelHandler-remove-std-clamp-assert-crash.patch
+  * 0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch
+  * 0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch
+  * 0005-WheelHandler-use-std-min-and-std-max-instead-of-qMin.patch
+
+-------------------------------------------------------------------

New:
----
  0001-WheelHandler-remove-std-clamp-assert-crash.patch
  0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch
  0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch
  0005-WheelHandler-use-std-min-and-std-max-instead-of-qMin.patch

BETA DEBUG BEGIN:
  New:- Add upstream changes:
  * 0001-WheelHandler-remove-std-clamp-assert-crash.patch
  * 0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch
  New:  * 0001-WheelHandler-remove-std-clamp-assert-crash.patch
  * 0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch
  * 0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch
  New:  * 0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch
  * 0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch
  * 0005-WheelHandler-use-std-min-and-std-max-instead-of-qMin.patch
  New:  * 0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch
  * 0005-WheelHandler-use-std-min-and-std-max-instead-of-qMin.patch
BETA DEBUG END:

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

Other differences:
------------------
++++++ kf6-kirigami.spec ++++++
--- /var/tmp/diff_new_pack.oEaP31/_old  2025-05-15 17:00:10.523178782 +0200
+++ /var/tmp/diff_new_pack.oEaP31/_new  2025-05-15 17:00:10.527178950 +0200
@@ -35,6 +35,11 @@
 Source1:        %{rname}-%{version}.tar.xz.sig
 Source2:        frameworks.keyring
 %endif
+# PATCH-FIX-UPSTREAM
+Patch0:         0001-WheelHandler-remove-std-clamp-assert-crash.patch
+Patch1:         0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch
+Patch2:         0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch
+Patch3:         0005-WheelHandler-use-std-min-and-std-max-instead-of-qMin.patch
 BuildRequires:  doxygen
 BuildRequires:  kf6-extra-cmake-modules >= %{_kf6_bugfix_version}
 BuildRequires:  qt6-gui-private-devel >= %{qt6_version}

++++++ 0001-WheelHandler-remove-std-clamp-assert-crash.patch ++++++
>From d373ee15e51a42a110309baed6c321126d5acfeb Mon Sep 17 00:00:00 2001
From: Noah Davis <noaha...@gmail.com>
Date: Mon, 12 May 2025 17:24:00 -0400
Subject: [PATCH 1/5] WheelHandler: remove std::clamp assert crash

BUG: 503703
---
 src/wheelhandler.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/wheelhandler.cpp b/src/wheelhandler.cpp
index 0af0bad7..93991089 100644
--- a/src/wheelhandler.cpp
+++ b/src/wheelhandler.cpp
@@ -481,9 +481,9 @@ bool WheelHandler::scrollFlickable(QPointF pixelDelta, 
QPointF angleDelta, Qt::K
 
         qreal minExtent = leadingMargin - originPos;
         qreal maxExtent = size - (contentSize + trailingMargin + originPos);
-
-        qreal newContentPos =
-            std::clamp((animation.state() == QPropertyAnimation::Running ? 
animation.endValue().toReal() : contentPos) - change, -minExtent, -maxExtent);
+        qreal newContentPos = (animation.state() == 
QPropertyAnimation::Running ? animation.endValue().toReal() : contentPos) - 
change;
+        // bound the values without asserts
+        newContentPos = qMax(-minExtent, qMin(newContentPos, -maxExtent));
 
         // Flickable::pixelAligned rounds the position, so round to mimic that 
behavior.
         // Rounding prevents fractional positioning from causing text to be
-- 
2.49.0


++++++ 0002-WheelHandler-Only-apply-scrollview-event-filtering-t.patch ++++++
>From 0b085580b3e4a8d6407a0cd35ee5a622226a1dfa Mon Sep 17 00:00:00 2001
From: Noah Davis <noaha...@gmail.com>
Date: Mon, 12 May 2025 17:28:28 -0400
Subject: [PATCH 2/5] WheelHandler: Only apply scrollview event filtering to
 keys

Matches Qt Quick ScrollView behavior a bit more closely since ScrollView only 
directly handles arrow key events.
---
 src/wheelhandler.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/wheelhandler.cpp b/src/wheelhandler.cpp
index 93991089..ef943427 100644
--- a/src/wheelhandler.cpp
+++ b/src/wheelhandler.cpp
@@ -601,6 +601,12 @@ bool WheelHandler::eventFilter(QObject *watched, QEvent 
*event)
         return false;
     }
 
+    // We only process keyboard events for QQuickScrollView.
+    const auto eventType = event->type();
+    if (item == m_scrollView && eventType != QEvent::KeyPress && eventType != 
QEvent::KeyRelease) {
+        return false;
+    }
+
     qreal contentWidth = 0;
     qreal contentHeight = 0;
     qreal pageWidth = 0;
@@ -613,7 +619,7 @@ bool WheelHandler::eventFilter(QObject *watched, QEvent 
*event)
     }
 
     // The code handling touch, mouse and hover events is mostly 
copied/adapted from QQuickScrollView::childMouseEventFilter()
-    switch (event->type()) {
+    switch (eventType) {
     case QEvent::Wheel: {
         // QQuickScrollBar::interactive handling Matches behavior in 
QQuickScrollView::eventFilter()
         if (m_filterMouseEvents) {
-- 
2.49.0


++++++ 0004-WheelHandler-remove-std-clamp-assert-crash-part-2.patch ++++++
>From 54a92465b5ddcd55a5dfdd16c5215ad0769615fc Mon Sep 17 00:00:00 2001
From: Noah Davis <noaha...@gmail.com>
Date: Mon, 12 May 2025 20:10:01 -0400
Subject: [PATCH 4/5] WheelHandler: remove std::clamp assert crash part 2

BUG: 503703
---
 src/wheelhandler.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/wheelhandler.cpp b/src/wheelhandler.cpp
index ef943427..b77646ad 100644
--- a/src/wheelhandler.cpp
+++ b/src/wheelhandler.cpp
@@ -525,7 +525,7 @@ bool WheelHandler::scrollFlickable(QPointF pixelDelta, 
QPointF angleDelta, Qt::K
 
         qreal absPixelDelta = std::abs(newPos - oldPos);
         int duration = absPixelDelta * devicePixelRatio > 2 //
-            ? std::clamp(qRound(absPixelDelta * m_units->longDuration() / 
stepSize), qCeil(1000.0 / 60.0 * 3), m_units->longDuration())
+            ? qMax(qCeil(1000.0 / 60.0 * 3), qMin(qRound(absPixelDelta * 
m_units->longDuration() / stepSize), m_units->longDuration()))
             : 0;
         animation.setDuration(duration <= qCeil(1000.0 / refreshRate * 2) ? 0 
: duration);
         if (animation.duration() > 0) {
-- 
2.49.0


++++++ 0005-WheelHandler-use-std-min-and-std-max-instead-of-qMin.patch ++++++
>From e371f2ece21570342de9eb8a58e3b26f84380705 Mon Sep 17 00:00:00 2001
From: Noah Davis <noaha...@gmail.com>
Date: Tue, 13 May 2025 09:57:19 -0400
Subject: [PATCH 5/5] WheelHandler: use std::min and std::max instead of qMin
 and qMax

---
 src/wheelhandler.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/wheelhandler.cpp b/src/wheelhandler.cpp
index b77646ad..68036bc8 100644
--- a/src/wheelhandler.cpp
+++ b/src/wheelhandler.cpp
@@ -483,7 +483,7 @@ bool WheelHandler::scrollFlickable(QPointF pixelDelta, 
QPointF angleDelta, Qt::K
         qreal maxExtent = size - (contentSize + trailingMargin + originPos);
         qreal newContentPos = (animation.state() == 
QPropertyAnimation::Running ? animation.endValue().toReal() : contentPos) - 
change;
         // bound the values without asserts
-        newContentPos = qMax(-minExtent, qMin(newContentPos, -maxExtent));
+        newContentPos = std::max(-minExtent, std::min(newContentPos, 
-maxExtent));
 
         // Flickable::pixelAligned rounds the position, so round to mimic that 
behavior.
         // Rounding prevents fractional positioning from causing text to be
@@ -525,7 +525,7 @@ bool WheelHandler::scrollFlickable(QPointF pixelDelta, 
QPointF angleDelta, Qt::K
 
         qreal absPixelDelta = std::abs(newPos - oldPos);
         int duration = absPixelDelta * devicePixelRatio > 2 //
-            ? qMax(qCeil(1000.0 / 60.0 * 3), qMin(qRound(absPixelDelta * 
m_units->longDuration() / stepSize), m_units->longDuration()))
+            ? std::max(qCeil(1000.0 / 60.0 * 3), std::min(qRound(absPixelDelta 
* m_units->longDuration() / stepSize), m_units->longDuration()))
             : 0;
         animation.setDuration(duration <= qCeil(1000.0 / refreshRate * 2) ? 0 
: duration);
         if (animation.duration() > 0) {
-- 
2.49.0

Reply via email to