summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/linguist/linguist/formpreviewview.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/linguist/linguist/formpreviewview.cpp b/src/linguist/linguist/formpreviewview.cpp
index 0c923c05f..31a736178 100644
--- a/src/linguist/linguist/formpreviewview.cpp
+++ b/src/linguist/linguist/formpreviewview.cpp
@@ -400,12 +400,16 @@ static void bringToFront(const TranslatableEntry &target)
for (QObject *obj = target.target.object; obj != 0; obj = obj->parent()) {
if (QWidget *w = qobject_cast<QWidget *>(obj)) {
#ifndef QT_NO_STACKEDWIDGET
- if (QStackedWidget *stack = qobject_cast<QStackedWidget *>(obj->parent()))
- stack->setCurrentWidget(w);
-#endif
+ if (QStackedWidget *stack = qobject_cast<QStackedWidget *>(obj->parent())) {
#ifndef QT_NO_TABWIDGET
- if (QTabWidget *tab = qobject_cast<QTabWidget *>(obj->parent()))
- tab->setCurrentWidget(w);
+ // Updating QTabWidget's embedded QStackedWidget does not update its
+ // QTabBar, so handle tab widgets explicitly.
+ if (QTabWidget *tab = qobject_cast<QTabWidget *>(stack->parent()))
+ tab->setCurrentWidget(w);
+ else
+#endif
+ stack->setCurrentWidget(w);
+ }
#endif
#ifndef QT_NO_TOOLBOX
if (QScrollArea *sv = qobject_cast<QScrollArea *>(obj->parent()))