diff options
Diffstat (limited to 'src/corelib/global')
-rw-r--r-- | src/corelib/global/qfloat16.cpp | 2 | ||||
-rw-r--r-- | src/corelib/global/qfloat16tables.cpp | 2 | ||||
-rw-r--r-- | src/corelib/global/qlogging.cpp | 30 | ||||
-rw-r--r-- | src/corelib/global/qnamespace.h | 22 | ||||
-rw-r--r-- | src/corelib/global/qnamespace.qdoc | 45 |
5 files changed, 68 insertions, 33 deletions
diff --git a/src/corelib/global/qfloat16.cpp b/src/corelib/global/qfloat16.cpp index 51766c9760..80a851e4e4 100644 --- a/src/corelib/global/qfloat16.cpp +++ b/src/corelib/global/qfloat16.cpp @@ -213,7 +213,7 @@ f16cextern void qFloatFromFloat16_fast(float *out, const quint16 *in, qsizetype #undef f16cextern } -#elif defined(__ARM_FP16_FORMAT_IEEE) && defined(__ARM_NEON__) +#elif defined(__ARM_FP16_FORMAT_IEEE) && defined(__ARM_NEON__) && (__ARM_FP & 2) static inline bool hasFastF16() { return true; diff --git a/src/corelib/global/qfloat16tables.cpp b/src/corelib/global/qfloat16tables.cpp index 3d764937d7..b87986d6b8 100644 --- a/src/corelib/global/qfloat16tables.cpp +++ b/src/corelib/global/qfloat16tables.cpp @@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE -#if !defined(__F16C__) && !defined(__ARM_FP16_FORMAT_IEEE) +#if !defined(__ARM_FP16_FORMAT_IEEE) const quint32 qfloat16::mantissatable[2048] = { 0, diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp index ca4d8dbd11..123cc88ad6 100644 --- a/src/corelib/global/qlogging.cpp +++ b/src/corelib/global/qlogging.cpp @@ -1669,14 +1669,34 @@ static bool android_default_message_handler(QtMsgType type, #endif //Q_OS_ANDROID #ifdef Q_OS_WIN +static void win_outputDebugString_helper(QStringView message) +{ + const int maxOutputStringLength = 32766; + static QBasicMutex m; + auto locker = qt_unique_lock(m); + // fast path: Avoid string copies if one output is enough + if (message.length() <= maxOutputStringLength) { + OutputDebugString(reinterpret_cast<const wchar_t *>(message.utf16())); + } else { + wchar_t *messagePart = new wchar_t[maxOutputStringLength + 1]; + for (int i = 0; i < message.length(); i += maxOutputStringLength ) { + const int length = std::min(message.length() - i, maxOutputStringLength ); + const int len = message.mid(i, length).toWCharArray(messagePart); + Q_ASSERT(len == length); + messagePart[len] = 0; + OutputDebugString(messagePart); + } + delete[] messagePart; + } +} + static bool win_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &message) { if (shouldLogToStderr()) return false; // Leave logging up to stderr handler - QString formattedMessage = qFormatLogMessage(type, context, message); - formattedMessage.append(QLatin1Char('\n')); - OutputDebugString(reinterpret_cast<const wchar_t *>(formattedMessage.utf16())); + const QString formattedMessage = qFormatLogMessage(type, context, message).append('\n'); + win_outputDebugString_helper(formattedMessage); return true; // Prevent further output to stderr } @@ -1832,11 +1852,11 @@ static void qt_message_print(QtMsgType msgType, const QMessageLogContext &contex static void qt_message_print(const QString &message) { #if defined(Q_OS_WINRT) - OutputDebugString(reinterpret_cast<const wchar_t*>(message.utf16())); + win_outputDebugString_helper(message); return; #elif defined(Q_OS_WIN) && !defined(QT_BOOTSTRAPPED) if (!shouldLogToStderr()) { - OutputDebugString(reinterpret_cast<const wchar_t*>(message.utf16())); + win_outputDebugString_helper(message); return; } #endif diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index f278850ccf..57ccd308d7 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -1249,14 +1249,16 @@ namespace Qt { enum DateFormat { TextDate, // default Qt ISODate, // ISO 8601 - SystemLocaleDate, // deprecated - LocalDate = SystemLocaleDate, // deprecated - LocaleDate, // deprecated - SystemLocaleShortDate, - SystemLocaleLongDate, - DefaultLocaleShortDate, - DefaultLocaleLongDate, - RFC2822Date, // RFC 2822 (+ 850 and 1036 during parsing) +#if QT_DEPRECATED_SINCE(5, 15) + SystemLocaleDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale"), + LocalDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale") = 2, // i.e. SystemLocaleDate + LocaleDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale"), + SystemLocaleShortDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale"), + SystemLocaleLongDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale"), + DefaultLocaleShortDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale"), + DefaultLocaleLongDate Q_DECL_ENUMERATOR_DEPRECATED_X("Use QLocale"), +#endif + RFC2822Date = 8, // RFC 2822 (+ 850 and 1036 during parsing) ISODateWithMs }; @@ -1750,7 +1752,7 @@ namespace Qt { }; // QTBUG-48701 - enum ReturnByValue_t { ReturnByValue }; // ### Qt 7: Remove me + enum ReturnByValueConstant { ReturnByValue }; // ### Qt 7: Remove me #ifndef Q_QDOC // NOTE: Generally, do not add Q_ENUM_NS if a corresponding Q_FLAG_NS exists. diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 9acb978efc..708ecb11ab 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. @@ -709,26 +709,38 @@ \value ISODateWithMs \l{ISO 8601} extended format, including milliseconds if applicable. - \value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used - by the \l{QLocale::system()}{operating system}. + \value SystemLocaleShortDate \e{This enum value is deprecated and + shall be removed in Qt 6.} Use QLocale's methods for converting + dates and times to and from strings, with the + \l{QLocale::ShortFormat}{short format} of + \l{QLocale::system()}{the locale used by the operating system}. - \value SystemLocaleLongDate The \l{QLocale::LongFormat}{long format} used - by the \l{QLocale::system()}{operating system}. + \value SystemLocaleLongDate \e{This enum value is deprecated and + shall be removed in Qt 6.} Use QLocale's methods for converting + dates and times to and from strings, with the + \l{QLocale::LongFormat}{long format} of \l{QLocale::system()}{the + locale used by the operating system}. - \value DefaultLocaleShortDate The \l{QLocale::ShortFormat}{short format} specified - by the \l{QLocale::setDefault()}{application's locale}. + \value DefaultLocaleShortDate \e{This enum value is deprecated and + shall be removed in Qt 6.} Use QLocale's methods for converting + dates and times to and from strings, with the + \l{QLocale::ShortFormat}{short format} of + \l{QLocale::setDefault()}{the application's locale}. - \value DefaultLocaleLongDate The \l{QLocale::LongFormat}{long format} used - by the \l{QLocale::setDefault()}{application's locale}. + \value DefaultLocaleLongDate \e{This enum value is deprecated and + shall be removed in Qt 6.} Use QLocale's methods for converting + dates and times to and from strings, with the + \l{QLocale::LongFormat}{long format} \l{QLocale::setDefault()}{the + application's locale}. - \value SystemLocaleDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate - instead (or Qt::SystemLocaleLongDate if you want long dates). + \value SystemLocaleDate \e{This enum value is deprecated and shall + be removed in Qt 6.} It is equivalent to SystemLocaleShortDate. - \value LocaleDate \e{This enum value is deprecated.} Use Qt::DefaultLocaleShortDate - instead (or Qt::DefaultLocaleLongDate if you want long dates). + \value LocaleDate \e{This enum value is deprecated and shall be + removed in Qt 6.} It is equivalent to DefaultLocaleShortDate. - \value LocalDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate - instead (or Qt::SystemLocaleLongDate if you want long dates). + \value LocalDate \e{This enum value is deprecated and shall be + removed in Qt 6.} It is equivalent to SystemLocaleShortDate. \value RFC2822Date \l{RFC 2822}, \l{RFC 850} and \l{RFC 1036} format: either \c{[ddd,] dd MMM yyyy [hh:mm[:ss]][ ±tzoff]} @@ -1187,6 +1199,7 @@ \value WA_StyleSheetTarget Indicates that the widget appearance was modified by a \l{Qt Style Sheets}{style sheet}. WA_StyleSheet will also be set. + This value was introduced in Qt 5.12. \value WA_TabletTracking Indicates that the widget has tablet tracking enabled. See QWidget::tabletTracking. @@ -3321,7 +3334,7 @@ */ /*! - \enum Qt::ReturnByValue_t + \enum Qt::ReturnByValueConstant \since 5.15 This is a dummy type, designed to help users transition from certain deprecated APIs to their replacement APIs. |