aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/coreplugin/fancytabwidget.cpp7
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);
}