From 7346de649195d7fed39fa31ab1b11f42cd62f3a9 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Tue, 24 Jan 2023 13:07:07 +0900 Subject: [PATCH] Fix build with -no-feature-mdiarea qmainwindowlayout.cpp:(.text+0x2976): undefined reference to `_q_tb_tabBarShapeFrom(QTabWidget::TabShape, QTabWidget::TabPosition)' _q_tb_tabBarShapeFrom is implemented in qmdiarea.cpp which is not compiled when the feature mdiarea is disabled. Pick-to: 6.5 Change-Id: Ib0c6447b9381b8ce01542fabf831a9db7f5e6675 Reviewed-by: Volker Hilsheimer --- src/widgets/widgets/qmdiarea.cpp | 14 +------------- src/widgets/widgets/qtabwidget.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index 4bbb5c62549..3b4505688b6 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -220,19 +220,7 @@ static inline QMdiArea *mdiAreaParent(QWidget *widget) } #if QT_CONFIG(tabwidget) -QTabBar::Shape _q_tb_tabBarShapeFrom(QTabWidget::TabShape shape, QTabWidget::TabPosition position) -{ - const bool rounded = (shape == QTabWidget::Rounded); - if (position == QTabWidget::North) - return rounded ? QTabBar::RoundedNorth : QTabBar::TriangularNorth; - if (position == QTabWidget::South) - return rounded ? QTabBar::RoundedSouth : QTabBar::TriangularSouth; - if (position == QTabWidget::East) - return rounded ? QTabBar::RoundedEast : QTabBar::TriangularEast; - if (position == QTabWidget::West) - return rounded ? QTabBar::RoundedWest : QTabBar::TriangularWest; - return QTabBar::RoundedNorth; -} +QTabBar::Shape _q_tb_tabBarShapeFrom(QTabWidget::TabShape shape, QTabWidget::TabPosition position); #endif // QT_CONFIG(tabwidget) static inline QString tabTextFor(QMdiSubWindow *subWindow) diff --git a/src/widgets/widgets/qtabwidget.cpp b/src/widgets/widgets/qtabwidget.cpp index 89e3d59a061..8db76db7c71 100644 --- a/src/widgets/widgets/qtabwidget.cpp +++ b/src/widgets/widgets/qtabwidget.cpp @@ -1407,6 +1407,20 @@ void QTabWidget::clear() removeTab(0); } +QTabBar::Shape _q_tb_tabBarShapeFrom(QTabWidget::TabShape shape, QTabWidget::TabPosition position) +{ + const bool rounded = (shape == QTabWidget::Rounded); + if (position == QTabWidget::North) + return rounded ? QTabBar::RoundedNorth : QTabBar::TriangularNorth; + if (position == QTabWidget::South) + return rounded ? QTabBar::RoundedSouth : QTabBar::TriangularSouth; + if (position == QTabWidget::East) + return rounded ? QTabBar::RoundedEast : QTabBar::TriangularEast; + if (position == QTabWidget::West) + return rounded ? QTabBar::RoundedWest : QTabBar::TriangularWest; + return QTabBar::RoundedNorth; +} + QT_END_NAMESPACE #include "moc_qtabwidget.cpp"