diff options
-rw-r--r-- | src/plugins/coreplugin/fancytabwidget.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/coreplugin/fancytabwidget.cpp b/src/plugins/coreplugin/fancytabwidget.cpp index a9050029217..4fad26bc12c 100644 --- a/src/plugins/coreplugin/fancytabwidget.cpp +++ b/src/plugins/coreplugin/fancytabwidget.cpp @@ -29,6 +29,7 @@ #include "fancyactionbar.h" #include <utils/hostosinfo.h> +#include <utils/qtcassert.h> #include <utils/styledbar.h> #include <utils/stylehelper.h> #include <utils/theme/theme.h> @@ -599,6 +600,12 @@ void FancyTabWidget::showWidget(int index) { emit currentAboutToShow(index); m_modesStack->setCurrentIndex(index); + QWidget *w = m_modesStack->currentWidget(); + if (QTC_GUARD(w)) { + if (QWidget *focusWidget = w->focusWidget()) + w = focusWidget; + w->setFocus(); + } emit currentChanged(index); } |