diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/widgets/qtabbar.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index ab4478a98b..2c65240434 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -990,14 +990,16 @@ int QTabBar::insertTab(int index, const QIcon& icon, const QString &text) d->tabList.at(index)->shortcutId = grabShortcut(QKeySequence::mnemonic(text)); #endif d->firstVisible = qMax(qMin(index, d->firstVisible), 0); - d->lastVisible = qMax(index, d->lastVisible); d->refresh(); if (d->tabList.count() == 1) setCurrentIndex(index); - else if (index <= d->currentIndex) { + else if (index <= d->currentIndex) ++d->currentIndex; + + if (index <= d->lastVisible) ++d->lastVisible; - } + else + d->lastVisible = index; if (d->closeButtonOnTabs) { QStyleOptionTab opt; |