Merge remote-tracking branch 'origin/5.12' into 5.13

Change-Id: I9e7cb1b131b7b216aad8ed1b1536669fd1557c21
This commit is contained in:
Qt Forward Merge Bot 2019-02-22 01:00:26 +01:00
commit 64085d9b2f
10 changed files with 44 additions and 19 deletions
mkspecs/features
qmake/generators/win32
src
android/java/res/values-in
corelib/io
plugins/platformthemes/xdgdesktopportal
testlib
tests/auto
network/socket/qudpsocket
widgets/dialogs/qfilesystemmodel

View File

@ -44,7 +44,9 @@ for (cp, COPIES) {
$${pfx}.output = $$path/${QMAKE_FUNC_FILE_IN_qtStripSrcDir_$$cp}
}
$${pfx}.input = $${pfx}.files
$${pfx}.commands = $(QINSTALL) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
contains(TEMPLATE, "vc.*"): copycommand = $$QMAKE_QMAKE -install qinstall
else: copycommand = $(QINSTALL)
$${pfx}.commands = $$copycommand ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
$${pfx}.name = COPY ${QMAKE_FILE_IN}
$${pfx}.CONFIG = no_link no_clean target_predeps
QMAKE_EXTRA_COMPILERS += $${pfx}

View File

@ -1357,7 +1357,7 @@ void VcprojGenerator::initWinDeployQtTool()
// structure manually by invoking windeployqt a second time, so that
// the MDILXapCompile call succeeds and deployment continues.
conf.windeployqt.CommandLine += commandLine
+ QStringLiteral(" -list relative -dir \"$(MSBuildProjectDirectory)\" \"$(OutDir)\\$(TargetName).exe\" > ")
+ QStringLiteral(" -list relative -dir \"$(MSBuildProjectDirectory)\" \"$(OutDir)\\$(TargetFileName)\" > ")
+ MakefileGenerator::shellQuote(conf.windeployqt.Record);
conf.windeployqt.config = &vcProject.Configuration;
conf.windeployqt.ExcludedFromBuild = false;

View File

@ -362,16 +362,22 @@ void QProcessPrivate::destroyPipe(Q_PIPE pipe[2])
}
}
template <class T>
void deleteWorker(T *&worker)
{
if (!worker)
return;
worker->stop();
worker->deleteLater();
worker = nullptr;
}
void QProcessPrivate::closeChannel(Channel *channel)
{
if (channel == &stdinChannel) {
delete stdinChannel.writer;
stdinChannel.writer = 0;
} else if (channel->reader) {
channel->reader->stop();
channel->reader->deleteLater();
channel->reader = 0;
}
if (channel == &stdinChannel)
deleteWorker(channel->writer);
else
deleteWorker(channel->reader);
destroyPipe(channel->pipe);
}

View File

@ -48,6 +48,7 @@
#include <QDBusPendingCallWatcher>
#include <QDBusPendingReply>
#include <QFile>
#include <QMetaType>
#include <QMimeType>
#include <QMimeDatabase>
@ -181,10 +182,10 @@ void QXdgDesktopPortalFileDialog::openPortal()
if (d->saveFile) {
if (!d->directory.isEmpty())
options.insert(QLatin1String("current_folder"), d->directory.toLatin1().append('\0'));
options.insert(QLatin1String("current_folder"), QFile::encodeName(d->directory).append('\0'));
if (!d->selectedFiles.isEmpty())
options.insert(QLatin1String("current_file"), d->selectedFiles.first().toLatin1().append('\0'));
options.insert(QLatin1String("current_file"), QFile::encodeName(d->selectedFiles.first()).append('\0'));
}
// Insert filters

View File

@ -104,6 +104,7 @@ static QSet<QByteArray> keywords()
#endif
#ifdef Q_OS_OSX
<< "osx"
<< "macos"
#endif
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
<< "windows"

View File

@ -1640,15 +1640,14 @@ void tst_QUdpSocket::linkLocalIPv6()
sockets << s;
}
QUdpSocket neutral;
QVERIFY(neutral.bind(QHostAddress(QHostAddress::AnyIPv6)));
QSignalSpy neutralReadSpy(&neutral, SIGNAL(readyRead()));
QByteArray testData("hello");
foreach (QUdpSocket *s, sockets) {
QUdpSocket neutral;
QVERIFY(neutral.bind(QHostAddress(QHostAddress::AnyIPv6)));
QSignalSpy neutralReadSpy(&neutral, SIGNAL(readyRead()));
QSignalSpy spy(s, SIGNAL(readyRead()));
neutralReadSpy.clear();
QVERIFY(s->writeDatagram(testData, s->localAddress(), neutral.localPort()));
QTRY_VERIFY(neutralReadSpy.count() > 0); //note may need to accept a firewall prompt

View File

@ -0,0 +1,11 @@
winrt
[sort:QFileDialog usage]
ubuntu
b2qt
[specialFiles]
ubuntu
b2qt
[dirsBeforeFiles]
ubuntu
b2qt
windows

View File

@ -1,3 +1,6 @@
INCLUDEPATH += ../../../../shared
HEADERS += ../../../../shared/emulationdetector.h
CONFIG += testcase
# This testcase can be slow on Windows and OS X, and may interfere with other file system tests.
win32:testcase.timeout = 900
@ -8,5 +11,3 @@ QT += core-private testlib
SOURCES += tst_qfilesystemmodel.cpp
TARGET = tst_qfilesystemmodel
CONFIG += insignificant_test # QTBUG-29403

View File

@ -27,6 +27,7 @@
****************************************************************************/
#include <emulationdetector.h>
#include <QtTest/QtTest>
#ifdef QT_BUILD_INTERNAL
#include <private/qfilesystemmodel_p.h>
@ -788,6 +789,9 @@ void tst_QFileSystemModel::sort()
MyFriendFileSystemModel *myModel = new MyFriendFileSystemModel();
QTreeView *tree = new QTreeView();
if (fileDialogMode && EmulationDetector::isRunningArmOnX86())
QSKIP("Crashes in QEMU. QTBUG-70572");
#ifdef QT_BUILD_INTERNAL
if (fileDialogMode)
myModel->d_func()->disableRecursiveSort = true;