diff --git a/src/private/MultiSplitter.cpp b/src/private/MultiSplitter.cpp index bfb3fedd..1c98a229 100644 --- a/src/private/MultiSplitter.cpp +++ b/src/private/MultiSplitter.cpp @@ -193,6 +193,9 @@ QSize MultiSplitter::availableSize() const void MultiSplitter::layoutEqually() { + if (!checkSanity()) + return; + layoutEqually(m_rootItem); } diff --git a/src/private/multisplitter/Item.cpp b/src/private/multisplitter/Item.cpp index 39b208ca..72408ac6 100644 --- a/src/private/multisplitter/Item.cpp +++ b/src/private/multisplitter/Item.cpp @@ -2419,6 +2419,11 @@ void ItemBoxContainer::layoutEqually(SizingInfo::List &sizes) } if (lengthToGive == 0) return; + + if (lengthToGive < 0) { + qWarning() << Q_FUNC_INFO << "Breaking infinit loop"; + return; + } } }