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

This commit is contained in:
Qt Forward Merge Bot 2019-08-01 01:00:09 +02:00
commit 231b70c294
7 changed files with 20 additions and 9 deletions

View File

@ -367,7 +367,7 @@ cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
# Other modules should either create proper tests in tests/auto/cmake or, as # Other modules should either create proper tests in tests/auto/cmake or, as
# a temporary measure, disable the generation of cmake files # a temporary measure, disable the generation of cmake files
# with 'CONFIG -= create_cmake' # with 'CONFIG -= create_cmake'
!equals(CMAKE_MODULE_TESTS, -) { !internal_module:!equals(CMAKE_MODULE_TESTS, -) {
isEmpty(CMAKE_MODULE_TESTS): CMAKE_MODULE_TESTS = $$MODULE_BASE_INDIR/tests/auto/cmake isEmpty(CMAKE_MODULE_TESTS): CMAKE_MODULE_TESTS = $$MODULE_BASE_INDIR/tests/auto/cmake
!exists($$CMAKE_MODULE_TESTS): \ !exists($$CMAKE_MODULE_TESTS): \
error("Missing CMake tests. Either create tests in tests/auto/cmake," \ error("Missing CMake tests. Either create tests in tests/auto/cmake," \

View File

@ -66,7 +66,7 @@ struct ProcessOpenModeResult {
QIODevice::OpenMode openMode; QIODevice::OpenMode openMode;
QString error; QString error;
}; };
inline Q_CORE_EXPORT ProcessOpenModeResult processOpenModeFlags(QIODevice::OpenMode mode); Q_CORE_EXPORT ProcessOpenModeResult processOpenModeFlags(QIODevice::OpenMode mode);
class QFSFileEnginePrivate; class QFSFileEnginePrivate;

View File

@ -661,6 +661,7 @@ void QPainterPath::clear()
detach(); detach();
d_func()->clear(); d_func()->clear();
d_func()->elements.append( {0, 0, MoveToElement} );
} }
/*! /*!
@ -2337,12 +2338,12 @@ bool QPainterPath::operator==(const QPainterPath &path) const
{ {
QPainterPathData *d = reinterpret_cast<QPainterPathData *>(d_func()); QPainterPathData *d = reinterpret_cast<QPainterPathData *>(d_func());
QPainterPathData *other_d = path.d_func(); QPainterPathData *other_d = path.d_func();
if (other_d == d) if (other_d == d) {
return true; return true;
else if (!d || !other_d) { } else if (!d || !other_d) {
if (!d && other_d->elements.empty() && other_d->fillRule == Qt::OddEvenFill) if (!other_d && isEmpty() && elementAt(0) == QPointF() && d->fillRule == Qt::OddEvenFill)
return true; return true;
if (!other_d && d && d->elements.empty() && d->fillRule == Qt::OddEvenFill) if (!d && path.isEmpty() && path.elementAt(0) == QPointF() && other_d->fillRule == Qt::OddEvenFill)
return true; return true;
return false; return false;
} }

View File

@ -313,7 +313,7 @@ inline void QPainterPathData::clear()
elements.clear(); elements.clear();
cStart = 0; cStart = 0;
fillRule = Qt::OddEvenFill;
bounds = {}; bounds = {};
controlBounds = {}; controlBounds = {};

View File

@ -344,7 +344,7 @@ void QAbstractItemViewPrivate::_q_scrollerStateChanged()
\value SingleSelection When the user selects an item, any already-selected \value SingleSelection When the user selects an item, any already-selected
item becomes unselected. It is possible for the user to deselect the selected item becomes unselected. It is possible for the user to deselect the selected
item. item by pressing the Ctrl key when clicking the selected item.
\value ContiguousSelection When the user selects an item in the usual way, \value ContiguousSelection When the user selects an item in the usual way,
the selection is cleared and the new item selected. However, if the user the selection is cleared and the new item selected. However, if the user

View File

@ -0,0 +1,2 @@
[insert_remove_loop]
msvc-2019

View File

@ -161,10 +161,18 @@ void tst_QPainterPath::clear()
p1.clear(); p1.clear();
QCOMPARE(p1, p2); QCOMPARE(p1, p2);
p1.lineTo(50, 50);
QPainterPath p3;
QCOMPARE(p1.elementCount(), 2);
p3.lineTo(50, 50);
QCOMPARE(p1, p3);
QCOMPARE(p1.fillRule(), Qt::OddEvenFill); QCOMPARE(p1.fillRule(), Qt::OddEvenFill);
p1.setFillRule(Qt::WindingFill); p1.setFillRule(Qt::WindingFill);
QVERIFY(p1 != p3);
p1.clear(); p1.clear();
QCOMPARE(p1.fillRule(), Qt::WindingFill); QCOMPARE(p1.fillRule(), Qt::OddEvenFill);
QCOMPARE(p1, p2);
} }
void tst_QPainterPath::reserveAndCapacity() void tst_QPainterPath::reserveAndCapacity()