kde-plasma-6/kirigami/9eaf9709.patch
2024-04-03 23:27:09 +02:00

34 lines
1.3 KiB
Diff

From 9eaf9709cbbb1c179981b6060ad1c9837c96b9f1 Mon Sep 17 00:00:00 2001
From: Devin Lin <espidev@gmail.com>
Date: Fri, 1 Mar 2024 11:20:03 -0500
Subject: [PATCH] ColumnView: Add check args to clamp
CCBUG: 481531
Otherwise the program crashes if assertions are enabled due to bounds checking.
It seems it is possible for m_view->width() = 0 while child->width() > 0.
See https://bugs.kde.org/show_bug.cgi?id=481531
---
src/columnview.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/columnview.cpp b/src/columnview.cpp
index f9875cc06..86d4a30bf 100644
--- a/src/columnview.cpp
+++ b/src/columnview.cpp
@@ -526,7 +526,8 @@ void ContentItem::layoutItems()
sepWidth = (sep ? sep->width() : 0);
}
const qreal width = childWidth(child);
- const qreal pageX = std::clamp(partialWidth, -x(), -x() + m_view->width() - child->width());
+ const qreal widthDiff = std::max(0.0, m_view->width() - child->width()); // it's possible for the view width to be smaller than the child width
+ const qreal pageX = std::clamp(partialWidth, -x(), -x() + widthDiff);
qreal headerHeight = .0;
qreal footerHeight = .0;
if (QQuickItem *header = attached->globalHeader()) {
--
GitLab