Merge "Merge remote-tracking branch 'origin/5.15' into dev"

This commit is contained in:
Qt Forward Merge Bot 2020-03-18 11:45:07 +01:00
commit 08b9539b7a
8 changed files with 36 additions and 14 deletions

View File

@ -1,5 +1,20 @@
Copyright © 1991-2018 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
See Terms of Use for definitions of Unicode Inc.'s
Data Files and Software.
NOTICE TO USER: Carefully read the following legal agreement.
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT.
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
THE DATA FILES OR SOFTWARE.
COPYRIGHT AND PERMISSION NOTICE
Copyright © 1991-2019 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation

View File

@ -534,7 +534,7 @@ void QThreadPool::start(std::function<void()> functionToRun, int priority)
does nothing and returns \c false. Otherwise, \a runnable is run immediately
using one available thread and this function returns \c true.
Note that the thread pool takes ownership of the \a runnable if
Note that on success the thread pool takes ownership of the \a runnable if
\l{QRunnable::autoDelete()}{runnable->autoDelete()} returns \c true,
and the \a runnable will be deleted automatically by the thread
pool after the \l{QRunnable::run()}{runnable->run()} returns. If
@ -549,12 +549,7 @@ bool QThreadPool::tryStart(QRunnable *runnable)
return false;
Q_D(QThreadPool);
QMutexLocker locker(&d->mutex);
if (d->allThreads.isEmpty() == false && d->activeThreadCount() >= d->maxThreadCount)
return false;
return d->tryStart(runnable);
}
@ -571,7 +566,17 @@ bool QThreadPool::tryStart(std::function<void()> functionToRun)
{
if (!functionToRun)
return false;
return tryStart(QRunnable::create(std::move(functionToRun)));
Q_D(QThreadPool);
QMutexLocker locker(&d->mutex);
if (!d->allThreads.isEmpty() && d->activeThreadCount() >= d->maxThreadCount)
return false;
QRunnable *runnable = QRunnable::create(std::move(functionToRun));
if (d->tryStart(runnable))
return true;
delete runnable;
return false;
}
/*! \property QThreadPool::expiryTimeout

View File

@ -129,7 +129,7 @@ public:
QWizardPage *page(int id) const;
bool hasVisitedPage(int id) const;
#if QT_DEPRECATED_SINCE(5, 15)
QList<int> visitedPages() const;
Q_DECL_DEPRECATED_X("Use visitedIds() instead") QList<int> visitedPages() const;
#endif
QList<int> visitedIds() const;
QList<int> pageIds() const;

View File

@ -2695,8 +2695,6 @@ void QApplicationPrivate::sendSyntheticEnterLeave(QWidget *widget)
QDesktopWidget has various functions for obtaining useful geometries upon
the desktop, such as QDesktopWidget::screenGeometry() and
QDesktopWidget::availableGeometry().
On X11, it is also possible to draw on the desktop.
*/
QDesktopWidget *QApplication::desktop()
{

View File

@ -1011,7 +1011,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
\value SE_PushButtonFocusRect Area for the focus rect (usually
larger than the contents rect).
\value SE_PushButtonLayoutItem Area that counts for the parent layout.
\value SE_PushButtonBevel Area used for the bevel of the button.
\value SE_PushButtonBevel [since 5.15] Area used for the bevel of the button.
\value SE_CheckBoxIndicator Area for the state indicator (e.g., check mark).
\value SE_CheckBoxContents Area for the label (text or pixmap).

View File

@ -1397,6 +1397,7 @@ void tst_QLocale::fpExceptions()
// check that double-to-string conversion doesn't throw floating point exceptions when they are
// enabled
#ifdef Q_OS_WIN
_clear87();
unsigned int oldbits = _control87(0, 0);
_control87( 0 | _EM_INEXACT, _MCW_EM );
#endif

View File

@ -6518,6 +6518,9 @@ void tst_QNetworkReply::sslSessionSharing()
QNetworkRequest warmupRequest(urlString);
QFETCH(bool, sessionSharingEnabled);
warmupRequest.setAttribute(QNetworkRequest::User, sessionSharingEnabled); // so we can read it from the slot
// Make sure the socket is closed when the request is finished to guarantee that
// the _socket_ is not reused, but rather the ssl session
warmupRequest.setRawHeader("Connection", "close");
if (! sessionSharingEnabled) {
QSslConfiguration configuration(QSslConfiguration::defaultConfiguration());
configuration.setSslOption(QSsl::SslOptionDisableSessionSharing, true);

View File

@ -309,7 +309,7 @@ void tst_QSocks5SocketEngine::simpleConnectToIMAP()
QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::imapServerIp());
// Wait for the greeting
QVERIFY(socketDevice.waitForRead());
QVERIFY2(socketDevice.waitForRead(), qPrintable("Socket error:" + socketDevice.errorString()));
// Read the greeting
qint64 available = socketDevice.bytesAvailable();