diff options
Diffstat (limited to 'src/widgets/widgets/qdockarealayout.cpp')
-rw-r--r-- | src/widgets/widgets/qdockarealayout.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 0a00086138..06c20adb9d 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -2105,6 +2105,8 @@ bool QDockAreaLayoutInfo::updateTabBar() const const QSignalBlocker blocker(tabBar); bool gap = false; + const quintptr oldCurrentId = currentTabId(); + int tab_idx = 0; for (int i = 0; i < item_list.count(); ++i) { const QDockAreaLayoutItem &item = item_list.at(i); @@ -2153,6 +2155,9 @@ bool QDockAreaLayoutInfo::updateTabBar() const tabBar->removeTab(tab_idx); } + if (oldCurrentId > 0 && currentTabId() != oldCurrentId) + that->setCurrentTabId(oldCurrentId); + //returns if the tabbar is visible or not return ( (gap ? 1 : 0) + tabBar->count()) > 1; } |