From 7188e650775ffd2bf4f2574094b6472c86468fba Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Wed, 18 Aug 2021 12:54:14 +0200 Subject: [PATCH] QTabBar: don't overwrite data, fix refactoring error for vertical tabs Amends 359616066e64eed947c6c91cb8902285ed79dd0d, which incorrectly changed - tabList[i].minRect = QRect(0, miny, sz.width(), sz.height()); + tab->data = QRect(0, miny, sz.width(), sz.height()); in the code laying out verticals tabs (correct done for the horizontal case). Since QDockWidget uses the user data for tabs to maintain the mapping between tabs and dock widget, this broke the layout logic. Fixes: QTBUG-95841 Pick-to: 6.2 6.1 Change-Id: Ie785e1205b426bbc4954b965f619f4c603490f76 Reviewed-by: Lars Knoll --- src/widgets/widgets/qtabbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 2738afcbdce..41de72dd7a9 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -523,7 +523,7 @@ void QTabBarPrivate::layoutTabs() y += sz.height(); maxWidth = qMax(maxWidth, sz.width()); sz = q->minimumTabSizeHint(i); - tab->data = QRect(0, miny, sz.width(), sz.height()); + tab->minRect = QRect(0, miny, sz.width(), sz.height()); miny += sz.height(); tabChain[tabChainIndex].init(); tabChain[tabChainIndex].sizeHint = tab->maxRect.height();