- 
    Bug 
- 
    Resolution: Invalid
- 
    P1: Critical 
- 
    None
- 
    5.9.0
- 
    None
- 
    Arch Linux x86_64
 
 Qt 5.9.0
 
 KDE Konsole 17.04.2
KDE Konsole's tabbar is broken with Qt 5.9. This is a regression with respect to Qt 5.8.
With a single tab the Konsole tabbar is arranged such that the tab occupies 50% of the bar and the rest is empty. The user can double click the empty space to create a new tab.
With Qt 5.9 the empty space is gone and the single tab does not look properly aligned.
This issue is caused by the solution to https://bugreports.qt.io/browse/QTBUG-58266, more specifically, by commit 175f33ed855b0a8a30daafacd4f48fa3f8e76a9b.
This patch fixes the problem:
diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp 
index 060d1f9a03..e67f6969e7 100644 
--- a/src/widgets/widgets/qtabbar.cpp 
+++ b/src/widgets/widgets/qtabbar.cpp 
@@ -518,13 +518,11 @@ void QTabBarPrivate::layoutTabs() 
        maxExtent = maxWidth; 
    } 
 
-    if (!expanding) { 
-        // Mirror our front item. 
-        tabChain[tabChainIndex].init(); 
-        tabChain[tabChainIndex].expansive = (tabAlignment != Qt::AlignRight) 
-                                            && (tabAlignment != Qt::AlignJustify); 
-        tabChain[tabChainIndex].empty = true; 
-    } 
+    // Mirror our front item. 
+    tabChain[tabChainIndex].init(); 
+    tabChain[tabChainIndex].expansive = (tabAlignment != Qt::AlignRight) 
+                                        && (tabAlignment != Qt::AlignJustify); 
+    tabChain[tabChainIndex].empty = true; 
    Q_ASSERT(tabChainIndex == tabChain.count() - 1); // add an assert just to make sure. 
 
    // Do the calculation
See also:
https://bugs.kde.org/show_bug.cgi?id=380879
https://bugreports.qt.io/browse/QTBUG-58266
