Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: .qmake.conf src/network/ssl/qsslsocket_openssl.cpp Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: Ibb57a0548b4977797b400637487a56245ac1c024
This commit is contained in:
commit
25eb97d2d4
1
doc/config/exampleurl-qt3d.qdocconf
Normal file
1
doc/config/exampleurl-qt3d.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qt3d.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtactiveqt.qdocconf
Normal file
1
doc/config/exampleurl-qtactiveqt.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtactiveqt.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtandroidextras.qdocconf
Normal file
1
doc/config/exampleurl-qtandroidextras.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtandroidextras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtbase.qdocconf
Normal file
1
doc/config/exampleurl-qtbase.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtbase.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtcharts.qdocconf
Normal file
1
doc/config/exampleurl-qtcharts.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtcharts.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtconnectivity.qdocconf
Normal file
1
doc/config/exampleurl-qtconnectivity.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtconnectivity.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtdatavis3d.qdocconf
Normal file
1
doc/config/exampleurl-qtdatavis3d.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtdatavis3d.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtdeclarative.qdocconf
Normal file
1
doc/config/exampleurl-qtdeclarative.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtdeclarative.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtdoc.qdocconf
Normal file
1
doc/config/exampleurl-qtdoc.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtdoc.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtgamepad.qdocconf
Normal file
1
doc/config/exampleurl-qtgamepad.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtgamepad.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtgraphicaleffects.qdocconf
Normal file
1
doc/config/exampleurl-qtgraphicaleffects.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtgraphicaleffects.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtimageformats.qdocconf
Normal file
1
doc/config/exampleurl-qtimageformats.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtimageformats.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtlocation.qdocconf
Normal file
1
doc/config/exampleurl-qtlocation.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtlocation.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtlottie.qdocconf
Normal file
1
doc/config/exampleurl-qtlottie.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtlottie.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtmacextras.qdocconf
Normal file
1
doc/config/exampleurl-qtmacextras.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtmacextras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtmultimedia.qdocconf
Normal file
1
doc/config/exampleurl-qtmultimedia.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtmultimedia.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtnetworkauth.qdocconf
Normal file
1
doc/config/exampleurl-qtnetworkauth.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtnetworkauth.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtpurchasing.qdocconf
Normal file
1
doc/config/exampleurl-qtpurchasing.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtpurchasing.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtquickcontrols.qdocconf
Normal file
1
doc/config/exampleurl-qtquickcontrols.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtquickcontrols.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtquickcontrols2.qdocconf
Normal file
1
doc/config/exampleurl-qtquickcontrols2.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtremoteobjects.qdocconf
Normal file
1
doc/config/exampleurl-qtremoteobjects.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtremoteobjects.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtscript.qdocconf
Normal file
1
doc/config/exampleurl-qtscript.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtscript.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtscxml.qdocconf
Normal file
1
doc/config/exampleurl-qtscxml.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtscxml.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtsensors.qdocconf
Normal file
1
doc/config/exampleurl-qtsensors.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtsensors.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtserialbus.qdocconf
Normal file
1
doc/config/exampleurl-qtserialbus.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtserialbus.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtserialport.qdocconf
Normal file
1
doc/config/exampleurl-qtserialport.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtserialport.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtspeech.qdocconf
Normal file
1
doc/config/exampleurl-qtspeech.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtspeech.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtsvg.qdocconf
Normal file
1
doc/config/exampleurl-qtsvg.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtsvg.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qttools.qdocconf
Normal file
1
doc/config/exampleurl-qttools.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qttools.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtvirtualkeyboard.qdocconf
Normal file
1
doc/config/exampleurl-qtvirtualkeyboard.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtvirtualkeyboard.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwayland.qdocconf
Normal file
1
doc/config/exampleurl-qtwayland.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtwayland.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebchannel.qdocconf
Normal file
1
doc/config/exampleurl-qtwebchannel.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtwebchannel.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebengine.qdocconf
Normal file
1
doc/config/exampleurl-qtwebengine.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtwebengine.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebsockets.qdocconf
Normal file
1
doc/config/exampleurl-qtwebsockets.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtwebsockets.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebview.qdocconf
Normal file
1
doc/config/exampleurl-qtwebview.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtwebview.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwinextras.qdocconf
Normal file
1
doc/config/exampleurl-qtwinextras.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtwinextras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtx11extras.qdocconf
Normal file
1
doc/config/exampleurl-qtx11extras.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtx11extras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtxmlpatterns.qdocconf
Normal file
1
doc/config/exampleurl-qtxmlpatterns.qdocconf
Normal file
@ -0,0 +1 @@
|
|||||||
|
url.examples = "https://code.qt.io/cgit/qt/qtxmlpatterns.git/tree/examples/\1?h=$QT_VER"
|
@ -79,6 +79,32 @@ QVariant addAuthor(QSqlQuery &q, const QString &name, const QDate &birthdate)
|
|||||||
return q.lastInsertId();
|
return q.lastInsertId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const auto BOOKS_SQL = QLatin1String(R"(
|
||||||
|
create table books(id integer primary key, title varchar, author integer,
|
||||||
|
genre integer, year integer, rating integer)
|
||||||
|
)");
|
||||||
|
|
||||||
|
const auto AUTHORS_SQL = QLatin1String(R"(
|
||||||
|
create table authors(id integer primary key, name varchar, birthdate date)
|
||||||
|
)");
|
||||||
|
|
||||||
|
const auto GENRES_SQL = QLatin1String(R"(
|
||||||
|
create table genres(id integer primary key, name varchar)
|
||||||
|
)");
|
||||||
|
|
||||||
|
const auto INSERT_AUTHOR_SQL = QLatin1String(R"(
|
||||||
|
insert into authors(name, birthdate) values(?, ?)
|
||||||
|
)");
|
||||||
|
|
||||||
|
const auto INSERT_BOOK_SQL = QLatin1String(R"(
|
||||||
|
insert into books(title, year, author, genre, rating)
|
||||||
|
values(?, ?, ?, ?, ?)
|
||||||
|
)");
|
||||||
|
|
||||||
|
const auto INSERT_GENRE_SQL = QLatin1String(R"(
|
||||||
|
insert into genres(name) values(?)
|
||||||
|
)");
|
||||||
|
|
||||||
QSqlError initDb()
|
QSqlError initDb()
|
||||||
{
|
{
|
||||||
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
|
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
|
||||||
@ -93,26 +119,26 @@ QSqlError initDb()
|
|||||||
return QSqlError();
|
return QSqlError();
|
||||||
|
|
||||||
QSqlQuery q;
|
QSqlQuery q;
|
||||||
if (!q.exec(QLatin1String("create table books(id integer primary key, title varchar, author integer, genre integer, year integer, rating integer)")))
|
if (!q.exec(BOOKS_SQL))
|
||||||
return q.lastError();
|
return q.lastError();
|
||||||
if (!q.exec(QLatin1String("create table authors(id integer primary key, name varchar, birthdate date)")))
|
if (!q.exec(AUTHORS_SQL))
|
||||||
return q.lastError();
|
return q.lastError();
|
||||||
if (!q.exec(QLatin1String("create table genres(id integer primary key, name varchar)")))
|
if (!q.exec(GENRES_SQL))
|
||||||
return q.lastError();
|
return q.lastError();
|
||||||
|
|
||||||
if (!q.prepare(QLatin1String("insert into authors(name, birthdate) values(?, ?)")))
|
if (!q.prepare(INSERT_AUTHOR_SQL))
|
||||||
return q.lastError();
|
return q.lastError();
|
||||||
QVariant asimovId = addAuthor(q, QLatin1String("Isaac Asimov"), QDate(1920, 2, 1));
|
QVariant asimovId = addAuthor(q, QLatin1String("Isaac Asimov"), QDate(1920, 2, 1));
|
||||||
QVariant greeneId = addAuthor(q, QLatin1String("Graham Greene"), QDate(1904, 10, 2));
|
QVariant greeneId = addAuthor(q, QLatin1String("Graham Greene"), QDate(1904, 10, 2));
|
||||||
QVariant pratchettId = addAuthor(q, QLatin1String("Terry Pratchett"), QDate(1948, 4, 28));
|
QVariant pratchettId = addAuthor(q, QLatin1String("Terry Pratchett"), QDate(1948, 4, 28));
|
||||||
|
|
||||||
if (!q.prepare(QLatin1String("insert into genres(name) values(?)")))
|
if (!q.prepare(INSERT_GENRE_SQL))
|
||||||
return q.lastError();
|
return q.lastError();
|
||||||
QVariant sfiction = addGenre(q, QLatin1String("Science Fiction"));
|
QVariant sfiction = addGenre(q, QLatin1String("Science Fiction"));
|
||||||
QVariant fiction = addGenre(q, QLatin1String("Fiction"));
|
QVariant fiction = addGenre(q, QLatin1String("Fiction"));
|
||||||
QVariant fantasy = addGenre(q, QLatin1String("Fantasy"));
|
QVariant fantasy = addGenre(q, QLatin1String("Fantasy"));
|
||||||
|
|
||||||
if (!q.prepare(QLatin1String("insert into books(title, year, author, genre, rating) values(?, ?, ?, ?, ?)")))
|
if (!q.prepare(INSERT_BOOK_SQL))
|
||||||
return q.lastError();
|
return q.lastError();
|
||||||
addBook(q, QLatin1String("Foundation"), 1951, asimovId, sfiction, 3);
|
addBook(q, QLatin1String("Foundation"), 1951, asimovId, sfiction, 3);
|
||||||
addBook(q, QLatin1String("Foundation and Empire"), 1952, asimovId, sfiction, 4);
|
addBook(q, QLatin1String("Foundation and Empire"), 1952, asimovId, sfiction, 4);
|
||||||
|
@ -59,7 +59,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
|||||||
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\")
|
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\")
|
||||||
string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings})
|
string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings})
|
||||||
string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends})
|
string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends})
|
||||||
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries ${CMAKE_CXX_STANDARD_LIBRARIES})
|
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\")
|
||||||
set(_search_paths)
|
set(_search_paths)
|
||||||
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
|
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
|
||||||
foreach(_flag ${_static_depends})
|
foreach(_flag ${_static_depends})
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
CONFIG(release, debug|release) {
|
static:no-static-ltcg {
|
||||||
|
# Static library but no-static-ltcg enabled: skip LTCG
|
||||||
|
} else: CONFIG(release, debug|release) {
|
||||||
# We need fat object files when creating static libraries on some platforms
|
# We need fat object files when creating static libraries on some platforms
|
||||||
# so the linker will know to load a particular object from the library
|
# so the linker will know to load a particular object from the library
|
||||||
# in the first place. On others, we have special ar and nm to create the symbol
|
# in the first place. On others, we have special ar and nm to create the symbol
|
||||||
@ -22,7 +24,7 @@ CONFIG(release, debug|release) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fat-lto {
|
fat-lto|if(static:fat-static-lto) {
|
||||||
QMAKE_CFLAGS_LTCG += $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
QMAKE_CFLAGS_LTCG += $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
||||||
QMAKE_CXXFLAGS_LTCG += $$QMAKE_CXXFLAGS_LTCG_FATOBJECTS
|
QMAKE_CXXFLAGS_LTCG += $$QMAKE_CXXFLAGS_LTCG_FATOBJECTS
|
||||||
}
|
}
|
||||||
|
@ -250,7 +250,7 @@ void MingwMakefileGenerator::init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(project->isActiveConfig("dll")) {
|
if(project->isActiveConfig("dll")) {
|
||||||
project->values("QMAKE_CLEAN").append(project->first("MINGW_IMPORT_LIB"));
|
project->values("QMAKE_DISTCLEAN").append(project->first("MINGW_IMPORT_LIB"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -517,4 +517,9 @@ ProKey ProFile::getHashStr(const ushort *&tPtr)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDebug operator<<(QDebug debug, const ProString &str)
|
||||||
|
{
|
||||||
|
return debug << str.toQString();
|
||||||
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
#include "qmake_global.h"
|
#include "qmake_global.h"
|
||||||
|
|
||||||
|
#include <qdebug.h>
|
||||||
#include <qstring.h>
|
#include <qstring.h>
|
||||||
#include <qvector.h>
|
#include <qvector.h>
|
||||||
#include <qhash.h>
|
#include <qhash.h>
|
||||||
@ -468,6 +469,8 @@ struct ProFunctionDefs {
|
|||||||
QHash<ProKey, ProFunctionDef> replaceFunctions;
|
QHash<ProKey, ProFunctionDef> replaceFunctions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QDebug operator<<(QDebug debug, const ProString &str);
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
#endif // PROITEMS_H
|
#endif // PROITEMS_H
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtConcurrent
|
project = QtConcurrent
|
||||||
description = Qt Concurrent Reference Documentation
|
description = Qt Concurrent Reference Documentation
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtCore
|
project = QtCore
|
||||||
description = Qt Core Reference Documentation
|
description = Qt Core Reference Documentation
|
||||||
|
@ -220,7 +220,7 @@ static bool shouldIncludeFs(const QStorageIterator &it)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef Q_OS_LINUX
|
#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
|
||||||
if (it.fileSystemType() == "rootfs")
|
if (it.fileSystemType() == "rootfs")
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
@ -849,7 +849,7 @@ QList<QStorageInfo> QStorageInfoPrivate::mountedVolumes()
|
|||||||
info.d->device = it.device();
|
info.d->device = it.device();
|
||||||
info.d->fileSystemType = it.fileSystemType();
|
info.d->fileSystemType = it.fileSystemType();
|
||||||
info.d->subvolume = it.subvolume();
|
info.d->subvolume = it.subvolume();
|
||||||
if (info.bytesTotal() == 0)
|
if (info.bytesTotal() == 0 && info != root())
|
||||||
continue;
|
continue;
|
||||||
volumes.append(info);
|
volumes.append(info);
|
||||||
}
|
}
|
||||||
|
@ -621,11 +621,11 @@ int QDateTimeParser::sectionMaxSize(Section s, int count) const
|
|||||||
case LastSection: return 0;
|
case LastSection: return 0;
|
||||||
|
|
||||||
case AmPmSection: {
|
case AmPmSection: {
|
||||||
const int lowerMax = qMin(getAmPmText(AmText, LowerCase).size(),
|
const int lowerMax = qMax(getAmPmText(AmText, LowerCase).size(),
|
||||||
getAmPmText(PmText, LowerCase).size());
|
getAmPmText(PmText, LowerCase).size());
|
||||||
const int upperMax = qMin(getAmPmText(AmText, UpperCase).size(),
|
const int upperMax = qMax(getAmPmText(AmText, UpperCase).size(),
|
||||||
getAmPmText(PmText, UpperCase).size());
|
getAmPmText(PmText, UpperCase).size());
|
||||||
return qMin(4, qMin(lowerMax, upperMax));
|
return qMax(lowerMax, upperMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
case Hour24Section:
|
case Hour24Section:
|
||||||
@ -1664,13 +1664,16 @@ QDateTimeParser::findTimeZone(QStringRef str, const QDateTime &when,
|
|||||||
/*!
|
/*!
|
||||||
\internal
|
\internal
|
||||||
|
|
||||||
Returns
|
Compares str to the am/pm texts returned by getAmPmText().
|
||||||
AM if str == tr("AM")
|
Returns AM or PM if str is one of those texts. Failing that, it looks to see
|
||||||
PM if str == tr("PM")
|
whether, ignoring spaces and case, each character of str appears in one of
|
||||||
PossibleAM if str can become tr("AM")
|
the am/pm texts.
|
||||||
PossiblePM if str can become tr("PM")
|
If neither text can be the result of the user typing more into str, returns
|
||||||
PossibleBoth if str can become tr("PM") and can become tr("AM")
|
Neither. If both texts are possible results of further typing, returns
|
||||||
Neither if str can't become anything sensible
|
PossibleBoth. Otherwise, only one of them is a possible completion, so this
|
||||||
|
returns PossibleAM or PossiblePM to indicate which.
|
||||||
|
|
||||||
|
\sa getAmPmText()
|
||||||
*/
|
*/
|
||||||
QDateTimeParser::AmPmFinder QDateTimeParser::findAmPm(QString &str, int sectionIndex, int *used) const
|
QDateTimeParser::AmPmFinder QDateTimeParser::findAmPm(QString &str, int sectionIndex, int *used) const
|
||||||
{
|
{
|
||||||
@ -1699,10 +1702,10 @@ QDateTimeParser::AmPmFinder QDateTimeParser::findAmPm(QString &str, int sectionI
|
|||||||
|
|
||||||
QDTPDEBUG << "findAmPm" << str << ampm[0] << ampm[1];
|
QDTPDEBUG << "findAmPm" << str << ampm[0] << ampm[1];
|
||||||
|
|
||||||
if (str.indexOf(ampm[amindex], 0, Qt::CaseInsensitive) == 0) {
|
if (str.startsWith(ampm[amindex], Qt::CaseInsensitive)) {
|
||||||
str = ampm[amindex];
|
str = ampm[amindex];
|
||||||
return AM;
|
return AM;
|
||||||
} else if (str.indexOf(ampm[pmindex], 0, Qt::CaseInsensitive) == 0) {
|
} else if (str.startsWith(ampm[pmindex], Qt::CaseInsensitive)) {
|
||||||
str = ampm[pmindex];
|
str = ampm[pmindex];
|
||||||
return PM;
|
return PM;
|
||||||
} else if (context == FromString || (str.count(space) == 0 && str.size() >= size)) {
|
} else if (context == FromString || (str.count(space) == 0 && str.size() >= size)) {
|
||||||
|
@ -327,7 +327,7 @@ static const uchar breakTable[BAfter + 1][QUnicodeTables::NumSentenceBreakClasse
|
|||||||
// Any CR LF Sep Extend Sp Lower Upper OLetter Numeric ATerm SContinue STerm Close
|
// Any CR LF Sep Extend Sp Lower Upper OLetter Numeric ATerm SContinue STerm Close
|
||||||
{ Initial, BAfterC, BAfter , BAfter , Initial, Initial, Lower , Upper , Initial, Initial, ATerm , Initial, STerm , Initial }, // Initial
|
{ Initial, BAfterC, BAfter , BAfter , Initial, Initial, Lower , Upper , Initial, Initial, ATerm , Initial, STerm , Initial }, // Initial
|
||||||
{ Initial, BAfterC, BAfter , BAfter , Lower , Initial, Initial, Initial, Initial, Initial, LUATerm, Initial, STerm , Initial }, // Lower
|
{ Initial, BAfterC, BAfter , BAfter , Lower , Initial, Initial, Initial, Initial, Initial, LUATerm, Initial, STerm , Initial }, // Lower
|
||||||
{ Initial, BAfterC, BAfter , BAfter , Upper , Initial, Initial, Upper , Initial, Initial, LUATerm, STerm , STerm , Initial }, // Upper
|
{ Initial, BAfterC, BAfter , BAfter , Upper , Initial, Initial, Upper , Initial, Initial, LUATerm, Initial, STerm , Initial }, // Upper
|
||||||
|
|
||||||
{ Lookup , BAfterC, BAfter , BAfter , LUATerm, ACS , Initial, Upper , Break , Initial, ATerm , STerm , STerm , ATermC }, // LUATerm
|
{ Lookup , BAfterC, BAfter , BAfter , LUATerm, ACS , Initial, Upper , Break , Initial, ATerm , STerm , STerm , ATermC }, // LUATerm
|
||||||
{ Lookup , BAfterC, BAfter , BAfter , ATerm , ACS , Initial, Break , Break , Initial, ATerm , STerm , STerm , ATermC }, // ATerm
|
{ Lookup , BAfterC, BAfter , BAfter , ATerm , ACS , Initial, Break , Break , Initial, ATerm , STerm , STerm , ATermC }, // ATerm
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
# Name of the project which must match the outputdir. Determines the .index file
|
# Name of the project which must match the outputdir. Determines the .index file
|
||||||
project = QtDBus
|
project = QtDBus
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtGui
|
project = QtGui
|
||||||
description = Qt GUI Reference Documentation
|
description = Qt GUI Reference Documentation
|
||||||
|
@ -675,8 +675,9 @@ void QPainterPath::reserve(int size)
|
|||||||
{
|
{
|
||||||
Q_D(QPainterPath);
|
Q_D(QPainterPath);
|
||||||
if ((!d && size > 0) || (d && d->elements.capacity() < size)) {
|
if ((!d && size > 0) || (d && d->elements.capacity() < size)) {
|
||||||
|
ensureData();
|
||||||
detach();
|
detach();
|
||||||
d->elements.reserve(size);
|
d_func()->elements.reserve(size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2306,6 +2306,10 @@ QString QTextHtmlExporter::toHtml(const QByteArray &encoding, ExportMode mode)
|
|||||||
if (mode == ExportEntireDocument) {
|
if (mode == ExportEntireDocument) {
|
||||||
html += QLatin1String(" style=\"");
|
html += QLatin1String(" style=\"");
|
||||||
|
|
||||||
|
QStringList fontFamilies = defaultCharFormat.fontFamilies().toStringList();
|
||||||
|
if (!fontFamilies.isEmpty())
|
||||||
|
emitFontFamily(fontFamilies);
|
||||||
|
else
|
||||||
emitFontFamily(defaultCharFormat.fontFamily());
|
emitFontFamily(defaultCharFormat.fontFamily());
|
||||||
|
|
||||||
if (defaultCharFormat.hasProperty(QTextFormat::FontPointSize)) {
|
if (defaultCharFormat.hasProperty(QTextFormat::FontPointSize)) {
|
||||||
@ -2368,8 +2372,12 @@ bool QTextHtmlExporter::emitCharFormatStyle(const QTextCharFormat &format)
|
|||||||
bool attributesEmitted = false;
|
bool attributesEmitted = false;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
const QStringList families = format.fontFamilies().toStringList();
|
||||||
const QString family = format.fontFamily();
|
const QString family = format.fontFamily();
|
||||||
if (!family.isEmpty() && family != defaultCharFormat.fontFamily()) {
|
if (!families.isEmpty() && families != defaultCharFormat.fontFamilies().toStringList()) {
|
||||||
|
emitFontFamily(families);
|
||||||
|
attributesEmitted = true;
|
||||||
|
} else if (!family.isEmpty() && family != defaultCharFormat.fontFamily()) {
|
||||||
emitFontFamily(family);
|
emitFontFamily(family);
|
||||||
attributesEmitted = true;
|
attributesEmitted = true;
|
||||||
}
|
}
|
||||||
@ -2656,6 +2664,27 @@ void QTextHtmlExporter::emitFontFamily(const QString &family)
|
|||||||
html += QLatin1Char(';');
|
html += QLatin1Char(';');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QTextHtmlExporter::emitFontFamily(const QStringList &families)
|
||||||
|
{
|
||||||
|
html += QLatin1String(" font-family:");
|
||||||
|
|
||||||
|
bool first = true;
|
||||||
|
for (const QString &family : families) {
|
||||||
|
QLatin1String quote("\'");
|
||||||
|
if (family.contains(QLatin1Char('\'')))
|
||||||
|
quote = QLatin1String(""");
|
||||||
|
|
||||||
|
if (!first)
|
||||||
|
html += QLatin1String(",");
|
||||||
|
else
|
||||||
|
first = false;
|
||||||
|
html += quote;
|
||||||
|
html += family.toHtmlEscaped();
|
||||||
|
html += quote;
|
||||||
|
}
|
||||||
|
html += QLatin1Char(';');
|
||||||
|
}
|
||||||
|
|
||||||
void QTextHtmlExporter::emitMargins(const QString &top, const QString &bottom, const QString &left, const QString &right)
|
void QTextHtmlExporter::emitMargins(const QString &top, const QString &bottom, const QString &left, const QString &right)
|
||||||
{
|
{
|
||||||
html += QLatin1String(" margin-top:");
|
html += QLatin1String(" margin-top:");
|
||||||
|
@ -397,6 +397,7 @@ private:
|
|||||||
void emitPageBreakPolicy(QTextFormat::PageBreakFlags policy);
|
void emitPageBreakPolicy(QTextFormat::PageBreakFlags policy);
|
||||||
|
|
||||||
void emitFontFamily(const QString &family);
|
void emitFontFamily(const QString &family);
|
||||||
|
void emitFontFamily(const QStringList &families);
|
||||||
|
|
||||||
void emitBackgroundAttribute(const QTextFormat &format);
|
void emitBackgroundAttribute(const QTextFormat &format);
|
||||||
QString findUrlForImage(const QTextDocument *doc, qint64 cacheKey, bool isPixmap);
|
QString findUrlForImage(const QTextDocument *doc, qint64 cacheKey, bool isPixmap);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtNetwork
|
project = QtNetwork
|
||||||
description = Qt Network Reference Documentation
|
description = Qt Network Reference Documentation
|
||||||
|
@ -1573,6 +1573,7 @@ bool QSslSocketBackendPrivate::checkOcspStatus()
|
|||||||
// verify the responder's chain (see their commit 4ba9a4265bd).
|
// verify the responder's chain (see their commit 4ba9a4265bd).
|
||||||
// Working this around - is too much fuss for ancient versions we
|
// Working this around - is too much fuss for ancient versions we
|
||||||
// are dropping quite soon anyway.
|
// are dropping quite soon anyway.
|
||||||
|
|
||||||
const unsigned long verificationFlags = 0;
|
const unsigned long verificationFlags = 0;
|
||||||
const int success = q_OCSP_basic_verify(basicResponse, peerChain, store, verificationFlags);
|
const int success = q_OCSP_basic_verify(basicResponse, peerChain, store, verificationFlags);
|
||||||
if (success <= 0)
|
if (success <= 0)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
# Name of the project which must match the outputdir. Determines the .index file
|
# Name of the project which must match the outputdir. Determines the .index file
|
||||||
project = QtOpenGL
|
project = QtOpenGL
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtPlatformHeaders
|
project = QtPlatformHeaders
|
||||||
description = Qt Platform Headers Reference Documentation
|
description = Qt Platform Headers Reference Documentation
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtPrintSupport
|
project = QtPrintSupport
|
||||||
description = Qt Print Support Reference Documentation
|
description = Qt Print Support Reference Documentation
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtSql
|
project = QtSql
|
||||||
description = Qt SQL Reference Documentation
|
description = Qt SQL Reference Documentation
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtTestLib
|
project = QtTestLib
|
||||||
moduleheader = QtTest
|
moduleheader = QtTest
|
||||||
|
@ -150,8 +150,10 @@ static QSet<QByteArray> keywords()
|
|||||||
<< "msvc-2013"
|
<< "msvc-2013"
|
||||||
# elif _MSC_VER <= 1900
|
# elif _MSC_VER <= 1900
|
||||||
<< "msvc-2015"
|
<< "msvc-2015"
|
||||||
# else
|
# elif _MSC_VER <= 1916
|
||||||
<< "msvc-2017"
|
<< "msvc-2017"
|
||||||
|
# else
|
||||||
|
<< "msvc-2019"
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ enum {
|
|||||||
CONSTANT_COMPRESSTHRESHOLD_DEFAULT = 70
|
CONSTANT_COMPRESSTHRESHOLD_DEFAULT = 70
|
||||||
};
|
};
|
||||||
|
|
||||||
#if QT_CONFIG(zstd)
|
#if QT_CONFIG(zstd) && QT_VERSION >= QT_VERSION_CHECK(6,0,0)
|
||||||
# define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zstd
|
# define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zstd
|
||||||
#elif !defined(QT_NO_COMPRESS)
|
#elif !defined(QT_NO_COMPRESS)
|
||||||
# define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zlib
|
# define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zlib
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtWidgets
|
project = QtWidgets
|
||||||
description = Qt Widgets Reference Documentation
|
description = Qt Widgets Reference Documentation
|
||||||
|
@ -2306,13 +2306,31 @@ void QDateTimeEdit::paintEvent(QPaintEvent *event)
|
|||||||
style()->drawComplexControl(QStyle::CC_ComboBox, &optCombo, &p, this);
|
style()->drawComplexControl(QStyle::CC_ComboBox, &optCombo, &p, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Returns the string for AM and PM markers.
|
||||||
|
|
||||||
|
If a translation for "AM" and "PM" is installed, then use that.
|
||||||
|
Otherwise, use the default implementation, which uses the locale.
|
||||||
|
*/
|
||||||
QString QDateTimeEditPrivate::getAmPmText(AmPm ap, Case cs) const
|
QString QDateTimeEditPrivate::getAmPmText(AmPm ap, Case cs) const
|
||||||
{
|
{
|
||||||
|
QString original;
|
||||||
|
QString translated;
|
||||||
if (ap == AmText) {
|
if (ap == AmText) {
|
||||||
return (cs == UpperCase ? QDateTimeParser::tr("AM") : QDateTimeParser::tr("am"));
|
original = QLatin1String(cs == UpperCase ? "AM" : "am");
|
||||||
|
translated = (cs == UpperCase ? QDateTimeParser::tr("AM") : QDateTimeParser::tr("am"));
|
||||||
} else {
|
} else {
|
||||||
return (cs == UpperCase ? QDateTimeParser::tr("PM") : QDateTimeParser::tr("pm"));
|
original = QLatin1String(cs == UpperCase ? "PM" : "pm");
|
||||||
|
translated = (cs == UpperCase ? QDateTimeParser::tr("PM") : QDateTimeParser::tr("pm"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This logic fails if a translation exists but doesn't change the string,
|
||||||
|
// which we can accept as a corner-case for which a locale-derived answer
|
||||||
|
// will be acceptable.
|
||||||
|
if (original != translated)
|
||||||
|
return translated;
|
||||||
|
|
||||||
|
return QDateTimeParser::getAmPmText(ap, cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
int QDateTimeEditPrivate::absoluteIndex(QDateTimeEdit::Section s, int index) const
|
int QDateTimeEditPrivate::absoluteIndex(QDateTimeEdit::Section s, int index) const
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||||
|
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||||
|
|
||||||
project = QtXml
|
project = QtXml
|
||||||
description = Qt XML Reference Documentation
|
description = Qt XML Reference Documentation
|
||||||
|
@ -2,4 +2,6 @@ CONFIG += testcase
|
|||||||
TARGET = tst_qglobal
|
TARGET = tst_qglobal
|
||||||
QT = core testlib
|
QT = core testlib
|
||||||
SOURCES = tst_qglobal.cpp qglobal.c
|
SOURCES = tst_qglobal.cpp qglobal.c
|
||||||
contains(QT_CONFIG, c++1z): CONFIG += c++1z
|
qtConfig(c++11): CONFIG += c++11
|
||||||
|
qtConfig(c++14): CONFIG += c++14
|
||||||
|
qtConfig(c++1z): CONFIG += c++1z
|
||||||
|
@ -464,7 +464,7 @@ typedef int (Empty::*memFun) ();
|
|||||||
QCOMPARE(Q_ALIGNOF(type), size_t(alignment)); \
|
QCOMPARE(Q_ALIGNOF(type), size_t(alignment)); \
|
||||||
/* Compare to native operator for compilers that support it,
|
/* Compare to native operator for compilers that support it,
|
||||||
otherwise... erm... check consistency! :-) */ \
|
otherwise... erm... check consistency! :-) */ \
|
||||||
QCOMPARE(QT_EMULATED_ALIGNOF(type), Q_ALIGNOF(type)); \
|
QCOMPARE(alignof(type), Q_ALIGNOF(type)); \
|
||||||
} while (false)
|
} while (false)
|
||||||
/**/
|
/**/
|
||||||
|
|
||||||
@ -517,7 +517,7 @@ void tst_QGlobal::qAlignOf()
|
|||||||
TEST_AlignOf_impl(AlignmentInStruct<double>, Q_ALIGNOF(AlignmentInStruct<qint64>));
|
TEST_AlignOf_impl(AlignmentInStruct<double>, Q_ALIGNOF(AlignmentInStruct<qint64>));
|
||||||
|
|
||||||
// 32-bit x86 ABI, Clang disagrees with gcc
|
// 32-bit x86 ABI, Clang disagrees with gcc
|
||||||
#if !defined(Q_PROCESSOR_X86_32) || !defined(Q_CC_CLANG)
|
#if !defined(Q_PROCESSOR_X86_32) || !defined(Q_CC_CLANG) || defined(Q_OS_ANDROID)
|
||||||
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(qint64));
|
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(qint64));
|
||||||
#else
|
#else
|
||||||
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(AlignmentInStruct<qint64>));
|
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(AlignmentInStruct<qint64>));
|
||||||
|
@ -569,13 +569,7 @@ void tst_QTemporaryFile::rename()
|
|||||||
|
|
||||||
void tst_QTemporaryFile::renameFdLeak()
|
void tst_QTemporaryFile::renameFdLeak()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_UNIX
|
#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID)
|
||||||
|
|
||||||
# if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
|
|
||||||
ChdirOnReturn cor(QDir::currentPath());
|
|
||||||
QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::CacheLocation));
|
|
||||||
# endif
|
|
||||||
|
|
||||||
const QByteArray sourceFile = QFile::encodeName(QFINDTESTDATA(__FILE__));
|
const QByteArray sourceFile = QFile::encodeName(QFINDTESTDATA(__FILE__));
|
||||||
QVERIFY(!sourceFile.isEmpty());
|
QVERIFY(!sourceFile.isEmpty());
|
||||||
// Test this on Unix only
|
// Test this on Unix only
|
||||||
|
@ -41,7 +41,6 @@ class tst_QPlugin : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
QDir dir;
|
QDir dir;
|
||||||
QString invalidPluginName;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
tst_QPlugin();
|
tst_QPlugin();
|
||||||
@ -64,15 +63,14 @@ void tst_QPlugin::initTestCase()
|
|||||||
QVERIFY2(dir.exists(),
|
QVERIFY2(dir.exists(),
|
||||||
qPrintable(QString::fromLatin1("Cannot find the 'plugins' directory starting from '%1'").
|
qPrintable(QString::fromLatin1("Cannot find the 'plugins' directory starting from '%1'").
|
||||||
arg(QDir::toNativeSeparators(QDir::currentPath()))));
|
arg(QDir::toNativeSeparators(QDir::currentPath()))));
|
||||||
|
|
||||||
const auto fileNames = dir.entryList({"*invalid*"}, QDir::Files);
|
|
||||||
if (!fileNames.isEmpty())
|
|
||||||
invalidPluginName = dir.absoluteFilePath(fileNames.first());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPlugin::loadDebugPlugin()
|
void tst_QPlugin::loadDebugPlugin()
|
||||||
{
|
{
|
||||||
const auto fileNames = dir.entryList(QStringList() << "*debug*", QDir::Files);
|
const auto fileNames = dir.entryList(QStringList() << "*debug*", QDir::Files);
|
||||||
|
if (fileNames.isEmpty())
|
||||||
|
QSKIP("No debug plugins found - skipping test");
|
||||||
|
|
||||||
for (const QString &fileName : fileNames) {
|
for (const QString &fileName : fileNames) {
|
||||||
if (!QLibrary::isLibrary(fileName))
|
if (!QLibrary::isLibrary(fileName))
|
||||||
continue;
|
continue;
|
||||||
@ -100,6 +98,9 @@ void tst_QPlugin::loadDebugPlugin()
|
|||||||
void tst_QPlugin::loadReleasePlugin()
|
void tst_QPlugin::loadReleasePlugin()
|
||||||
{
|
{
|
||||||
const auto fileNames = dir.entryList(QStringList() << "*release*", QDir::Files);
|
const auto fileNames = dir.entryList(QStringList() << "*release*", QDir::Files);
|
||||||
|
if (fileNames.isEmpty())
|
||||||
|
QSKIP("No release plugins found - skipping test");
|
||||||
|
|
||||||
for (const QString &fileName : fileNames) {
|
for (const QString &fileName : fileNames) {
|
||||||
if (!QLibrary::isLibrary(fileName))
|
if (!QLibrary::isLibrary(fileName))
|
||||||
continue;
|
continue;
|
||||||
@ -227,7 +228,13 @@ static qsizetype locateMetadata(const uchar *data, qsizetype len)
|
|||||||
|
|
||||||
void tst_QPlugin::scanInvalidPlugin()
|
void tst_QPlugin::scanInvalidPlugin()
|
||||||
{
|
{
|
||||||
QVERIFY(!invalidPluginName.isEmpty());
|
const auto fileNames = dir.entryList({"*invalid*"}, QDir::Files);
|
||||||
|
QString invalidPluginName;
|
||||||
|
if (fileNames.isEmpty())
|
||||||
|
QSKIP("No invalid plugin found - skipping test");
|
||||||
|
else
|
||||||
|
invalidPluginName = dir.absoluteFilePath(fileNames.first());
|
||||||
|
|
||||||
|
|
||||||
// copy the file
|
// copy the file
|
||||||
QFileInfo fn(invalidPluginName);
|
QFileInfo fn(invalidPluginName);
|
||||||
|
@ -2489,17 +2489,20 @@ void tst_QDateTime::fromString_LOCALE_ILDATE()
|
|||||||
|
|
||||||
void tst_QDateTime::fromStringToStringLocale_data()
|
void tst_QDateTime::fromStringToStringLocale_data()
|
||||||
{
|
{
|
||||||
|
QTest::addColumn<QLocale>("locale");
|
||||||
QTest::addColumn<QDateTime>("dateTime");
|
QTest::addColumn<QDateTime>("dateTime");
|
||||||
|
|
||||||
QTest::newRow("data0") << QDateTime(QDate(1999, 1, 18), QTime(11, 49, 00));
|
QTest::newRow("frFR") << QLocale(QLocale::French, QLocale::France) << QDateTime(QDate(1999, 1, 18), QTime(11, 49, 00));
|
||||||
|
QTest::newRow("spCO") << QLocale(QLocale::Spanish, QLocale::Colombia) << QDateTime(QDate(1999, 1, 18), QTime(11, 49, 00));
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QDateTime::fromStringToStringLocale()
|
void tst_QDateTime::fromStringToStringLocale()
|
||||||
{
|
{
|
||||||
|
QFETCH(QLocale, locale);
|
||||||
QFETCH(QDateTime, dateTime);
|
QFETCH(QDateTime, dateTime);
|
||||||
|
|
||||||
QLocale def;
|
QLocale def;
|
||||||
QLocale::setDefault(QLocale(QLocale::French, QLocale::France));
|
QLocale::setDefault(locale);
|
||||||
#define ROUNDTRIP(format) \
|
#define ROUNDTRIP(format) \
|
||||||
QCOMPARE(QDateTime::fromString(dateTime.toString(format), format), dateTime)
|
QCOMPARE(QDateTime::fromString(dateTime.toString(format), format), dateTime)
|
||||||
|
|
||||||
|
@ -539,6 +539,13 @@ void tst_QTextBoundaryFinder::sentenceBoundaries_manual_data()
|
|||||||
|
|
||||||
QTest::newRow("data3") << testString << expectedBreakPositions;
|
QTest::newRow("data3") << testString << expectedBreakPositions;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
QString testString(QString::fromUtf8("Doing TEST, doing another test."));
|
||||||
|
QList<int> expectedBreakPositions;
|
||||||
|
expectedBreakPositions << 0 << 31;
|
||||||
|
|
||||||
|
QTest::newRow("data4") << testString << expectedBreakPositions;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QTextBoundaryFinder::sentenceBoundaries_manual()
|
void tst_QTextBoundaryFinder::sentenceBoundaries_manual()
|
||||||
|
@ -189,6 +189,10 @@ void tst_QPainterPath::reserveAndCapacity()
|
|||||||
|
|
||||||
p.reserve(0);
|
p.reserve(0);
|
||||||
QVERIFY(p.capacity() >= 1000);
|
QVERIFY(p.capacity() >= 1000);
|
||||||
|
|
||||||
|
QPainterPath p2;
|
||||||
|
p2.reserve(10);
|
||||||
|
QVERIFY(p.capacity() >= 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QPainterPath)
|
Q_DECLARE_METATYPE(QPainterPath)
|
||||||
|
@ -861,6 +861,18 @@ void tst_QTextDocument::toHtml_data()
|
|||||||
<< QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Foo"s Family';\">Blah</span></p>");
|
<< QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Foo"s Family';\">Blah</span></p>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
CREATE_DOC_AND_CURSOR();
|
||||||
|
|
||||||
|
QTextCharFormat fmt;
|
||||||
|
fmt.setFontFamily("Times");
|
||||||
|
fmt.setFontFamilies(QStringList{ "Times", "serif" });
|
||||||
|
cursor.insertText("Blah", fmt);
|
||||||
|
|
||||||
|
QTest::newRow("font-family-with-fallback") << QTextDocumentFragment(&doc)
|
||||||
|
<< QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Times','serif';\">Blah</span></p>");
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
CREATE_DOC_AND_CURSOR();
|
CREATE_DOC_AND_CURSOR();
|
||||||
|
|
||||||
|
@ -5039,9 +5039,6 @@ public:
|
|||||||
// very similar to ioPostToHttpUploadProgress but for SSL
|
// very similar to ioPostToHttpUploadProgress but for SSL
|
||||||
void tst_QNetworkReply::ioPostToHttpsUploadProgress()
|
void tst_QNetworkReply::ioPostToHttpsUploadProgress()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN
|
|
||||||
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
|
|
||||||
#endif
|
|
||||||
//QFile sourceFile(testDataDir + "/bigfile");
|
//QFile sourceFile(testDataDir + "/bigfile");
|
||||||
//QVERIFY(sourceFile.open(QIODevice::ReadOnly));
|
//QVERIFY(sourceFile.open(QIODevice::ReadOnly));
|
||||||
qint64 wantedSize = 2*1024*1024; // 2 MB
|
qint64 wantedSize = 2*1024*1024; // 2 MB
|
||||||
@ -6423,10 +6420,6 @@ void tst_QNetworkReply::encrypted()
|
|||||||
|
|
||||||
void tst_QNetworkReply::abortOnEncrypted()
|
void tst_QNetworkReply::abortOnEncrypted()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN
|
|
||||||
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SslServer server;
|
SslServer server;
|
||||||
server.listen();
|
server.listen();
|
||||||
if (!server.isListening())
|
if (!server.isListening())
|
||||||
@ -8507,9 +8500,7 @@ void tst_QNetworkReply::ioHttpRedirectErrors_data()
|
|||||||
|
|
||||||
QTest::newRow("too-many-redirects") << "http://localhost" << tempRedirectReply << QNetworkReply::TooManyRedirectsError;
|
QTest::newRow("too-many-redirects") << "http://localhost" << tempRedirectReply << QNetworkReply::TooManyRedirectsError;
|
||||||
#if QT_CONFIG(ssl)
|
#if QT_CONFIG(ssl)
|
||||||
#ifndef Q_OS_WIN // QTBUG-76157
|
|
||||||
QTest::newRow("insecure-redirect") << "https://localhost" << tempRedirectReply << QNetworkReply::InsecureRedirectError;
|
QTest::newRow("insecure-redirect") << "https://localhost" << tempRedirectReply << QNetworkReply::InsecureRedirectError;
|
||||||
#endif // Q_OS_WIN
|
|
||||||
#endif
|
#endif
|
||||||
QTest::newRow("unknown-redirect") << "http://localhost"<< tempRedirectReply.replace("http", "bad_protocol") << QNetworkReply::ProtocolUnknownError;
|
QTest::newRow("unknown-redirect") << "http://localhost"<< tempRedirectReply.replace("http", "bad_protocol") << QNetworkReply::ProtocolUnknownError;
|
||||||
}
|
}
|
||||||
@ -8586,11 +8577,9 @@ void tst_QNetworkReply::ioHttpRedirectPolicy_data()
|
|||||||
QTest::newRow("nolesssafe-nossl") << QNetworkRequest::NoLessSafeRedirectPolicy << false << 1 << 200;
|
QTest::newRow("nolesssafe-nossl") << QNetworkRequest::NoLessSafeRedirectPolicy << false << 1 << 200;
|
||||||
QTest::newRow("same-origin-nossl") << QNetworkRequest::SameOriginRedirectPolicy << false << 1 << 200;
|
QTest::newRow("same-origin-nossl") << QNetworkRequest::SameOriginRedirectPolicy << false << 1 << 200;
|
||||||
#if QT_CONFIG(ssl)
|
#if QT_CONFIG(ssl)
|
||||||
#ifndef Q_OS_WIN // QTBUG-76157
|
|
||||||
QTest::newRow("manual-ssl") << QNetworkRequest::ManualRedirectPolicy << true << 0 << 307;
|
QTest::newRow("manual-ssl") << QNetworkRequest::ManualRedirectPolicy << true << 0 << 307;
|
||||||
QTest::newRow("nolesssafe-ssl") << QNetworkRequest::NoLessSafeRedirectPolicy << true << 1 << 200;
|
QTest::newRow("nolesssafe-ssl") << QNetworkRequest::NoLessSafeRedirectPolicy << true << 1 << 200;
|
||||||
QTest::newRow("same-origin-ssl") << QNetworkRequest::SameOriginRedirectPolicy << true << 1 << 200;
|
QTest::newRow("same-origin-ssl") << QNetworkRequest::SameOriginRedirectPolicy << true << 1 << 200;
|
||||||
#endif // Q_OS_WIN
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8644,41 +8633,33 @@ void tst_QNetworkReply::ioHttpRedirectPolicyErrors_data()
|
|||||||
QTest::newRow("nolesssafe-nossl-nossl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
|
QTest::newRow("nolesssafe-nossl-nossl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
|
||||||
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||||
#if QT_CONFIG(ssl)
|
#if QT_CONFIG(ssl)
|
||||||
#ifndef Q_OS_WIN // QTBUG-76157
|
|
||||||
QTest::newRow("nolesssafe-ssl-ssl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
|
QTest::newRow("nolesssafe-ssl-ssl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
|
||||||
<< true << QString("https:/localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
<< true << QString("https:/localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||||
QTest::newRow("nolesssafe-ssl-nossl-insecure-redirect") << QNetworkRequest::NoLessSafeRedirectPolicy
|
QTest::newRow("nolesssafe-ssl-nossl-insecure-redirect") << QNetworkRequest::NoLessSafeRedirectPolicy
|
||||||
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
#endif // Q_OS_WIN
|
|
||||||
#endif
|
#endif
|
||||||
// 2. SameOriginRedirectsPolicy
|
// 2. SameOriginRedirectsPolicy
|
||||||
QTest::newRow("same-origin-nossl-nossl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-nossl-nossl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||||
#if QT_CONFIG(ssl)
|
#if QT_CONFIG(ssl)
|
||||||
#ifndef Q_OS_WIN // QTBUG-76157
|
|
||||||
QTest::newRow("same-origin-ssl-ssl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-ssl-ssl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< true << QString("https://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
<< true << QString("https://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||||
QTest::newRow("same-origin-https-http-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-https-http-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
#endif // Q_OS_WIN
|
|
||||||
#endif
|
#endif
|
||||||
QTest::newRow("same-origin-http-https-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-http-https-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< false << QString("https://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< false << QString("https://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
QTest::newRow("same-origin-http-http-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-http-http-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< false << QString("http://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< false << QString("http://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
#if QT_CONFIG(ssl)
|
#if QT_CONFIG(ssl)
|
||||||
#ifndef Q_OS_WIN // QTBUG-76157
|
|
||||||
QTest::newRow("same-origin-https-https-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-https-https-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< true << QString("https://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< true << QString("https://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
#endif // Q_OS_WIN
|
|
||||||
#endif
|
#endif
|
||||||
QTest::newRow("same-origin-http-http-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-http-http-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< false << QString("http://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< false << QString("http://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
#if QT_CONFIG(ssl)
|
#if QT_CONFIG(ssl)
|
||||||
#ifndef Q_OS_WIN // QTBUG-76157
|
|
||||||
QTest::newRow("same-origin-https-https-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
|
QTest::newRow("same-origin-https-https-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
|
||||||
<< true << QString("https://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
|
<< true << QString("https://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||||
#endif // Q_OS_WIN
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9153,10 +9134,6 @@ void tst_QNetworkReply::putWithServerClosingConnectionImmediately()
|
|||||||
|
|
||||||
for (int s = 0; s <= 1; s++) {
|
for (int s = 0; s <= 1; s++) {
|
||||||
withSsl = (s == 1);
|
withSsl = (s == 1);
|
||||||
#ifdef Q_OS_WIN
|
|
||||||
if (withSsl)
|
|
||||||
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
|
|
||||||
#endif // Q_OS_WIN
|
|
||||||
// Test also needs to run several times because of 9c2ecf89
|
// Test also needs to run several times because of 9c2ecf89
|
||||||
for (int j = 0; j < 20; j++) {
|
for (int j = 0; j < 20; j++) {
|
||||||
// emulate a minimal https server
|
// emulate a minimal https server
|
||||||
|
Loading…
x
Reference in New Issue
Block a user