diff options
Diffstat (limited to 'src/widgets/widgets/qtoolbararealayout.cpp')
-rw-r--r-- | src/widgets/widgets/qtoolbararealayout.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/widgets/widgets/qtoolbararealayout.cpp b/src/widgets/widgets/qtoolbararealayout.cpp index edf497111b..adc329131c 100644 --- a/src/widgets/widgets/qtoolbararealayout.cpp +++ b/src/widgets/widgets/qtoolbararealayout.cpp @@ -789,7 +789,7 @@ void QToolBarAreaLayout::deleteAllLayoutItems() } } -QInternal::DockPosition QToolBarAreaLayout::findToolBar(QToolBar *toolBar) const +QInternal::DockPosition QToolBarAreaLayout::findToolBar(const QToolBar *toolBar) const { for (int i = 0; i < QInternal::DockCount; ++i) { const QToolBarAreaLayoutInfo &dock = docks[i]; @@ -1078,7 +1078,11 @@ bool QToolBarAreaLayout::insertGap(const QList<int> &path, QLayoutItem *item) void QToolBarAreaLayout::remove(const QList<int> &path) { Q_ASSERT(path.count() == 3); - docks[path.at(0)].lines[path.at(1)].toolBarItems.removeAt(path.at(2)); + QToolBarAreaLayoutInfo &dock = docks[path.at(0)]; + QToolBarAreaLayoutLine &line = dock.lines[path.at(1)]; + line.toolBarItems.removeAt(path.at(2)); + if (line.toolBarItems.isEmpty()) + dock.lines.removeAt(path.at(1)); } void QToolBarAreaLayout::remove(QLayoutItem *item) |