diff --git a/src/private/multisplitter/Item.cpp b/src/private/multisplitter/Item.cpp index 330a73bb..d993de22 100644 --- a/src/private/multisplitter/Item.cpp +++ b/src/private/multisplitter/Item.cpp @@ -3136,7 +3136,7 @@ void ItemContainer::simplify() if (ItemContainer *childContainer = child->asContainer()) { childContainer->simplify(); // recurse down the hierarchy - if (childContainer->orientation() == d->m_orientation) { + if (childContainer->orientation() == d->m_orientation || childContainer->d->m_children.size() == 1) { // This sub-container is reduntant, as it has the same orientation as its parent // Canibalize it. for (Item *child2 : childContainer->childItems()) { diff --git a/src/private/multisplitter/tests/tst_multisplitter.cpp b/src/private/multisplitter/tests/tst_multisplitter.cpp index 5a8d9d84..053acab7 100644 --- a/src/private/multisplitter/tests/tst_multisplitter.cpp +++ b/src/private/multisplitter/tests/tst_multisplitter.cpp @@ -1066,6 +1066,7 @@ void TestMultiSplitter::tst_misc2() Item *item3 = root3->childItems().constFirst(); ItemContainer *root4 = createRootWithSingleItem(); ItemContainer *root5 = createRootWithSingleItem(); + Item *item5 = root5->childItems().constFirst(); root->insertItem(root1, Item::Location_OnTop); QVERIFY(root->checkSanity()); @@ -1079,7 +1080,7 @@ void TestMultiSplitter::tst_misc2() root->insertItem(root5, Item::Location_OnLeft); QVERIFY(root->checkSanity()); - root5->parentContainer()->removeItem(root5); + item5->parentContainer()->removeItem(item5); QVERIFY(root->checkSanity()); QVERIFY(serializeDeserializeTest(root)); }