34 lines
1.3 KiB
Diff
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
|
|
|