From 00bcf5a867d0414cd894e46d085feef94aa317b9 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Wed, 2 Oct 2024 16:49:46 +0200 Subject: [PATCH] Guard the QDateTimeEdit usage with the respective feature check QDateTimeEdit and the respective header are available only when the 'datetimeedit' feature is enabled. Amends bfe8ac4ebff7a1e8114068f2f46e73c588735690 Fixes: QTBUG-129481 Pick-to: 6.8 6.7 Change-Id: Ia9595bb17b47fd7221742665f1242a5f85ed6c0d Reviewed-by: Ivan Solovev --- src/plugins/styles/modernwindows/qwindows11style.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index 92c436f5eca..ba7116ab7da 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -21,8 +21,9 @@ #endif #include #include -#include - +#if QT_CONFIG(datetimeedit) +# include +#endif #include "qdrawutil.h" #include @@ -2058,12 +2059,14 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o if (const auto *spinBoxOpt = qstyleoption_cast(option)) { // Add button + frame widths int width = 0; - +#if QT_CONFIG(datetimeedit) if (const QDateTimeEdit *spinBox = qobject_cast(widget)) { const QSize textSizeMin = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, spinBox->minimumDateTime().toString(spinBox->displayFormat())); const QSize textSizeMax = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, spinBox->maximumDateTime().toString(spinBox->displayFormat())); width = qMax(textSizeMin.width(),textSizeMax.width()); - } else if (const QSpinBox *spinBox = qobject_cast(widget)) { + } else +#endif + if (const QSpinBox *spinBox = qobject_cast(widget)) { const QSize textSizeMin = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, QString::number(spinBox->minimum())); const QSize textSizeMax = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, QString::number(spinBox->maximum())); width = qMax(textSizeMin.width(),textSizeMax.width());