summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-04-11 01:00:13 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-04-11 15:04:45 +0200
commitce1d4d362881b54ff774b49f54ef686f9aa97c73 (patch)
treee4deb036140ebb7603849dec919c299fd9fca5fd
parentce672e1c9b1d6272ff8ce6fc626f61f7f3adce06 (diff)
parent58a42898006f221807a08557f588a2d973a7ada2 (diff)
Merge "Merge remote-tracking branch 'origin/5.15' into dev"
-rw-r--r--examples/widgets/touch/fingerpaint/scribblearea.cpp12
-rw-r--r--mkspecs/wasm-emscripten/qmake.conf2
-rw-r--r--src/corelib/io/qtemporaryfile.cpp6
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder.cpp12
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp3
-rw-r--r--src/corelib/serialization/qcborvalue.cpp12
-rw-r--r--src/corelib/serialization/qjsonobject.cpp3
-rw-r--r--src/corelib/serialization/qtextstream.h48
-rw-r--r--src/gui/gui.pro9
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp9
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.cpp11
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.h1
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp4
-rw-r--r--src/widgets/kernel/qapplication.cpp2
-rw-r--r--src/widgets/widgets/qcombobox.cpp17
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp9
-rw-r--r--tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp4
-rw-r--r--tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp3
-rw-r--r--tests/auto/corelib/serialization/json/tst_qtjson.cpp97
-rw-r--r--tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp125
-rw-r--r--tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp119
-rw-r--r--tests/auto/network/socket/platformsocketengine/platformsocketengine.pri7
22 files changed, 395 insertions, 120 deletions
diff --git a/examples/widgets/touch/fingerpaint/scribblearea.cpp b/examples/widgets/touch/fingerpaint/scribblearea.cpp
index e490495cd9..4af0ec8e7e 100644
--- a/examples/widgets/touch/fingerpaint/scribblearea.cpp
+++ b/examples/widgets/touch/fingerpaint/scribblearea.cpp
@@ -205,22 +205,24 @@ bool ScribbleArea::event(QEvent *event)
continue;
default:
{
- QRectF rect = touchPoint.rect();
- if (rect.isEmpty()) {
+ QSizeF diams = touchPoint.ellipseDiameters();
+ if (diams.isEmpty()) {
qreal diameter = MaximumDiameter;
if (touch->device()->capabilities() & QTouchDevice::Pressure)
diameter = MinimumDiameter + (MaximumDiameter - MinimumDiameter) * touchPoint.pressure();
- rect.setSize(QSizeF(diameter, diameter));
+ diams = QSizeF(diameter, diameter);
}
QPainter painter(&image);
painter.setPen(Qt::NoPen);
painter.setBrush(myPenColors.at(touchPoint.id() % myPenColors.count()));
- painter.drawEllipse(rect);
+ painter.drawEllipse(touchPoint.pos(), diams.width() / 2, diams.height() / 2);
painter.end();
modified = true;
- int rad = 2;
+ const int rad = 2;
+ QRectF rect(QPointF(), diams);
+ rect.moveCenter(touchPoint.pos());
update(rect.toRect().adjusted(-rad,-rad, +rad, +rad));
}
break;
diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf
index 18562621ac..a1880b4c22 100644
--- a/mkspecs/wasm-emscripten/qmake.conf
+++ b/mkspecs/wasm-emscripten/qmake.conf
@@ -37,7 +37,7 @@ EMCC_COMMON_LFLAGS += \
-s FULL_ES2=1 \
-s FULL_ES3=1 \
-s USE_WEBGL2=1 \
- -s NO_EXIT_RUNTIME=0 \
+ -s EXIT_RUNTIME=1 \
-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
-s EXTRA_EXPORTED_RUNTIME_METHODS=[\"UTF16ToString\",\"stringToUTF16\"] \
--bind \
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index 55d13dad70..c016a622c7 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -284,8 +284,10 @@ createUnnamedFile(NativeFileHandle &file, QTemporaryFileName &tfn, quint32 mode,
return CreateUnnamedFileStatus::NotSupported;
const char *p = ".";
- int lastSlash = tfn.path.lastIndexOf('/');
- if (lastSlash != -1) {
+ QByteArray::size_type lastSlash = tfn.path.lastIndexOf('/');
+ if (lastSlash >= 0) {
+ if (lastSlash == 0)
+ lastSlash = 1;
tfn.path[lastSlash] = '\0';
p = tfn.path.data();
}
diff --git a/src/corelib/kernel/qmetaobjectbuilder.cpp b/src/corelib/kernel/qmetaobjectbuilder.cpp
index 6447e4ec5e..74e8af92df 100644
--- a/src/corelib/kernel/qmetaobjectbuilder.cpp
+++ b/src/corelib/kernel/qmetaobjectbuilder.cpp
@@ -575,6 +575,16 @@ QMetaPropertyBuilder QMetaObjectBuilder::addProperty
return QMetaPropertyBuilder(this, index);
}
+#if QT_DEPRECATED_SINCE(5, 15)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+static bool deprecatedIsEditable(const QMetaProperty &prototype)
+{
+ return prototype.isEditable();
+}
+QT_WARNING_POP
+#endif
+
/*!
Adds a new property to this class that has the same information as
\a prototype. This is used to clone the properties of an existing
@@ -592,7 +602,7 @@ QMetaPropertyBuilder QMetaObjectBuilder::addProperty(const QMetaProperty& protot
property.setDesignable(prototype.isDesignable());
property.setScriptable(prototype.isScriptable());
property.setStored(prototype.isStored());
- property.setEditable(prototype.isEditable());
+ property.setEditable(deprecatedIsEditable(prototype));
property.setUser(prototype.isUser());
property.setStdCppSet(prototype.hasStdCppSet());
property.setEnumOrFlag(prototype.isEnumType());
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 400c8bf05f..b03ab4349b 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -125,6 +125,8 @@ static QJsonDocument jsonFromCborMetaData(const char *raw, qsizetype size, QStri
return QJsonDocument(o);
}
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
QJsonDocument qJsonFromRawLibraryMetaData(const char *raw, qsizetype sectionSize, QString *errMsg)
{
raw += metaDataSignatureLength();
@@ -148,6 +150,7 @@ QJsonDocument qJsonFromRawLibraryMetaData(const char *raw, qsizetype sectionSize
return jsonFromCborMetaData(raw, sectionSize, errMsg);
}
+QT_WARNING_POP
class QFactoryLoaderPrivate : public QObjectPrivate
{
diff --git a/src/corelib/serialization/qcborvalue.cpp b/src/corelib/serialization/qcborvalue.cpp
index 298ebcfd72..a3f93e5eed 100644
--- a/src/corelib/serialization/qcborvalue.cpp
+++ b/src/corelib/serialization/qcborvalue.cpp
@@ -956,7 +956,7 @@ QCborContainerPrivate *QCborContainerPrivate::grow(QCborContainerPrivate *d, qsi
d = detach(d, index + 1);
Q_ASSERT(d);
int j = d->elements.size();
- while (j < index)
+ while (j++ < index)
d->append(Undefined());
return d;
}
@@ -994,8 +994,12 @@ void QCborContainerPrivate::replaceAt_complex(Element &e, const QCborValue &valu
e = value.container->elements.at(value.n);
// Copy string data, if any
- if (const ByteData *b = value.container->byteData(value.n))
- e.value = addByteData(b->byte(), b->len);
+ if (const ByteData *b = value.container->byteData(value.n)) {
+ if (this == value.container)
+ e.value = addByteData(b->toByteArray(), b->len);
+ else
+ e.value = addByteData(b->byte(), b->len);
+ }
if (disp == MoveContainer)
value.container->deref();
@@ -2649,7 +2653,7 @@ void QCborValueRef::assign(QCborValueRef that, QCborValue &&other)
void QCborValueRef::assign(QCborValueRef that, const QCborValueRef other)
{
// ### optimize?
- assign(that, other.concrete());
+ that = other.concrete();
}
QCborValue QCborValueRef::concrete(QCborValueRef self) noexcept
diff --git a/src/corelib/serialization/qjsonobject.cpp b/src/corelib/serialization/qjsonobject.cpp
index 1a85429c82..a03855d4a3 100644
--- a/src/corelib/serialization/qjsonobject.cpp
+++ b/src/corelib/serialization/qjsonobject.cpp
@@ -452,9 +452,11 @@ QJsonValueRef QJsonObject::atImpl(T key)
bool keyExists = false;
int index = indexOf(o, key, &keyExists);
if (!keyExists) {
+ detach2(o->elements.length() / 2 + 1);
o->insertAt(index, key);
o->insertAt(index + 1, QCborValue::fromJsonValue(QJsonValue()));
}
+ // detaching will happen if and when this QJsonValueRef is assigned to
return QJsonValueRef(this, index / 2);
}
@@ -1469,6 +1471,7 @@ QJsonValue QJsonObject::valueAt(int i) const
void QJsonObject::setValueAt(int i, const QJsonValue &val)
{
Q_ASSERT(o && i >= 0 && 2 * i + 1 < o->elements.length());
+ detach2();
if (val.isUndefined()) {
o->removeAt(2 * i + 1);
o->removeAt(2 * i);
diff --git a/src/corelib/serialization/qtextstream.h b/src/corelib/serialization/qtextstream.h
index 0d8a9a548e..97d596137e 100644
--- a/src/corelib/serialization/qtextstream.h
+++ b/src/corelib/serialization/qtextstream.h
@@ -271,30 +271,30 @@ Q_CORE_EXPORT QTextStream &ws(QTextStream &s);
#if QT_DEPRECATED_SINCE(5, 15)
// This namespace only exists for 'using namespace' declarations.
namespace QTextStreamFunctions {
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::bin") QTextStream &bin(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::oct") QTextStream &oct(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::dec") QTextStream &dec(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::hex") QTextStream &hex(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::showbase") QTextStream &showbase(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::forcesign") QTextStream &forcesign(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::forcepoint") QTextStream &forcepoint(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::noshowbase") QTextStream &noshowbase(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::noforcesign") QTextStream &noforcesign(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::noforcepoint") QTextStream &noforcepoint(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::uppercasebase") QTextStream &uppercasebase(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::uppercasedigits") QTextStream &uppercasedigits(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::lowercasebase") QTextStream &lowercasebase(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::lowercasedigits") QTextStream &lowercasedigits(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::fixed") QTextStream &fixed(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::scientific") QTextStream &scientific(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::left") QTextStream &left(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::right") QTextStream &right(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::center") QTextStream &center(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::endl") QTextStream &endl(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::flush") QTextStream &flush(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::reset") QTextStream &reset(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::bom") QTextStream &bom(QTextStream &s);
-Q_CORE_EXPORT QT_DEPRECATED_X("Use Qt::ws") QTextStream &ws(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::bin") QTextStream &bin(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::oct") QTextStream &oct(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::dec") QTextStream &dec(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::hex") QTextStream &hex(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::showbase") QTextStream &showbase(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::forcesign") QTextStream &forcesign(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::forcepoint") QTextStream &forcepoint(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::noshowbase") QTextStream &noshowbase(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::noforcesign") QTextStream &noforcesign(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::noforcepoint") QTextStream &noforcepoint(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::uppercasebase") QTextStream &uppercasebase(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::uppercasedigits") QTextStream &uppercasedigits(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::lowercasebase") QTextStream &lowercasebase(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::lowercasedigits") QTextStream &lowercasedigits(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::fixed") QTextStream &fixed(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::scientific") QTextStream &scientific(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::left") QTextStream &left(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::right") QTextStream &right(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::center") QTextStream &center(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::endl") QTextStream &endl(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::flush") QTextStream &flush(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::reset") QTextStream &reset(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::bom") QTextStream &bom(QTextStream &s);
+Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::ws") QTextStream &ws(QTextStream &s);
} // namespace QTextStreamFunctions
QT_WARNING_PUSH
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index 350d4c5ee3..6e92283142 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -59,15 +59,16 @@ load(cmake_functions)
win32: CMAKE_WINDOWS_BUILD = True
qtConfig(angle) {
+ !mingw|qtConfig(debug_and_release): debug_suffix="d"
CMAKE_GL_INCDIRS = $$CMAKE_INCLUDE_DIR
CMAKE_ANGLE_EGL_DLL_RELEASE = libEGL.dll
CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.$${QMAKE_EXTENSION_STATICLIB}
CMAKE_ANGLE_GLES2_DLL_RELEASE = libGLESv2.dll
CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.$${QMAKE_EXTENSION_STATICLIB}
- CMAKE_ANGLE_EGL_DLL_DEBUG = libEGLd.dll
- CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.$${QMAKE_EXTENSION_STATICLIB}
- CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2d.dll
- CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.$${QMAKE_EXTENSION_STATICLIB}
+ CMAKE_ANGLE_EGL_DLL_DEBUG = libEGL$${debug_suffix}.dll
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGL$${debug_suffix}.$${QMAKE_EXTENSION_STATICLIB}
+ CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2$${debug_suffix}.dll
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2$${debug_suffix}.$${QMAKE_EXTENSION_STATICLIB}
CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2
} else {
diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp
index e8f0892b95..5658968de4 100644
--- a/src/gui/kernel/qwindowsysteminterface.cpp
+++ b/src/gui/kernel/qwindowsysteminterface.cpp
@@ -687,9 +687,8 @@ QList<QTouchEvent::TouchPoint>
states |= point->state;
p.setState(point->state);
- const QPointF screenPos = point->area.center();
- p.setScreenPos(QHighDpi::fromNativePixels(screenPos, window));
- p.setScreenRect(QHighDpi::fromNativePixels(point->area, window));
+ p.setScreenPos(QHighDpi::fromNativePixels(point->area.center(), window));
+ p.setEllipseDiameters(point->area.size());
// The local pos and rect are not set, they will be calculated
// when the event gets processed by QGuiApplication.
@@ -750,7 +749,9 @@ QList<QWindowSystemInterface::TouchPoint>
p.id = pt.id();
p.flags = pt.flags();
p.normalPosition = QHighDpi::toNativeLocalPosition(pt.normalizedPos(), window);
- p.area = QHighDpi::toNativePixels(pt.screenRect(), window);
+ QRectF area(QPointF(), pt.ellipseDiameters());
+ area.moveCenter(pt.screenPos());
+ p.area = QHighDpi::toNativePixels(area, window);
p.pressure = pt.pressure();
p.state = pt.state();
p.velocity = QHighDpi::toNativePixels(pt.velocity(), window);
diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp
index f457f69f11..0c2c0d0b68 100644
--- a/src/plugins/platforms/minimal/qminimalintegration.cpp
+++ b/src/plugins/platforms/minimal/qminimalintegration.cpp
@@ -103,17 +103,18 @@ QMinimalIntegration::QMinimalIntegration(const QStringList &parameters)
m_options |= DebugBackingStore | EnableFonts;
}
- QMinimalScreen *mPrimaryScreen = new QMinimalScreen();
+ m_primaryScreen = new QMinimalScreen();
- mPrimaryScreen->mGeometry = QRect(0, 0, 240, 320);
- mPrimaryScreen->mDepth = 32;
- mPrimaryScreen->mFormat = QImage::Format_ARGB32_Premultiplied;
+ m_primaryScreen->mGeometry = QRect(0, 0, 240, 320);
+ m_primaryScreen->mDepth = 32;
+ m_primaryScreen->mFormat = QImage::Format_ARGB32_Premultiplied;
- QWindowSystemInterface::handleScreenAdded(mPrimaryScreen);
+ QWindowSystemInterface::handleScreenAdded(m_primaryScreen);
}
QMinimalIntegration::~QMinimalIntegration()
{
+ QWindowSystemInterface::handleScreenRemoved(m_primaryScreen);
delete m_fontDatabase;
}
diff --git a/src/plugins/platforms/minimal/qminimalintegration.h b/src/plugins/platforms/minimal/qminimalintegration.h
index ad1bec2112..f9c66e0c3e 100644
--- a/src/plugins/platforms/minimal/qminimalintegration.h
+++ b/src/plugins/platforms/minimal/qminimalintegration.h
@@ -88,6 +88,7 @@ public:
private:
mutable QPlatformFontDatabase *m_fontDatabase;
+ QMinimalScreen *m_primaryScreen;
unsigned m_options;
};
diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp
index 2ecb2c1aef..3a40452442 100644
--- a/src/widgets/graphicsview/qgraphicsscene.cpp
+++ b/src/widgets/graphicsview/qgraphicsscene.cpp
@@ -5915,10 +5915,6 @@ void QGraphicsScenePrivate::updateTouchPointsForItem(QGraphicsItem *item, QTouch
item->d_ptr->genericMapFromSceneTransform(static_cast<const QWidget *>(touchEvent->target()));
for (auto &touchPoint : touchEvent->_touchPoints) {
- // Deprecated TouchPoint::setRect clobbers ellipseDiameters, restore
- const QSizeF ellipseDiameters = touchPoint.ellipseDiameters();
- touchPoint.setRect(mapFromScene.map(touchPoint.sceneRect()).boundingRect());
- touchPoint.setEllipseDiameters(ellipseDiameters);
touchPoint.setPos(mapFromScene.map(touchPoint.scenePos()));
touchPoint.setStartPos(mapFromScene.map(touchPoint.startScenePos()));
touchPoint.setLastPos(mapFromScene.map(touchPoint.lastScenePos()));
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index 029be25620..c5577e2772 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -3958,7 +3958,7 @@ bool QApplicationPrivate::updateTouchPointsForWidget(QWidget *widget, QTouchEven
QTouchEvent::TouchPoint &touchPoint = touchEvent->_touchPoints[i];
// preserve the sub-pixel resolution
- const QPointF screenPos = touchPoint.screenRect().center();
+ const QPointF screenPos = touchPoint.screenPos();
const QPointF delta = screenPos - screenPos.toPoint();
touchPoint.d->pos = widget->mapFromGlobal(screenPos.toPoint()) + delta;
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index a854ce2cb8..fd82384c03 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -385,6 +385,16 @@ int QComboBoxPrivate::computeWidthHint() const
return tmp.width();
}
+#if QT_DEPRECATED_SINCE(5, 15)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+static constexpr QComboBox::SizeAdjustPolicy deprecatedAdjustToMinimumContentsLength()
+{
+ return QComboBox::AdjustToMinimumContentsLength;
+}
+QT_WARNING_POP
+#endif
+
QSize QComboBoxPrivate::recomputeSizeHint(QSize &sh) const
{
Q_Q(const QComboBox);
@@ -412,10 +422,11 @@ QSize QComboBoxPrivate::recomputeSizeHint(QSize &sh) const
}
}
break;
- case QComboBox::AdjustToMinimumContentsLength:
+ case deprecatedAdjustToMinimumContentsLength():
for (int i = 0; i < count && !hasIcon; ++i)
hasIcon = !q->itemIcon(i).isNull();
- default:
+ break;
+ case QComboBox::AdjustToMinimumContentsLengthWithIcon:
;
}
} else {
@@ -1742,7 +1753,7 @@ void QComboBox::setMinimumContentsLength(int characters)
d->minimumContentsLength = characters;
if (d->sizeAdjustPolicy == AdjustToContents
- || d->sizeAdjustPolicy == AdjustToMinimumContentsLength
+ || d->sizeAdjustPolicy == deprecatedAdjustToMinimumContentsLength()
|| d->sizeAdjustPolicy == AdjustToMinimumContentsLengthWithIcon) {
d->sizeHint = QSize();
d->adjustComboBoxSize();
diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
index a1f9ca0b87..c5dafb1a29 100644
--- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
+++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
@@ -1889,10 +1889,11 @@ void tst_QFileInfo::isWritable()
#if defined (Q_OS_QNX) // On QNX /etc is usually on a read-only filesystem
QVERIFY(!QFileInfo("/etc/passwd").isWritable());
#elif defined (Q_OS_UNIX) && !defined(Q_OS_VXWORKS) // VxWorks does not have users/groups
- if (::getuid() == 0)
- QVERIFY(QFileInfo("/etc/passwd").isWritable());
- else
- QVERIFY(!QFileInfo("/etc/passwd").isWritable());
+ for (const char *attempt : { "/etc/passwd", "/etc/machine-id", "/proc/version" }) {
+ if (access(attempt, F_OK) == -1)
+ continue;
+ QCOMPARE(QFileInfo(attempt).isWritable(), ::access(attempt, W_OK) == 0);
+ }
#endif
}
diff --git a/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp b/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp
index 8e500d7c8e..361d18054b 100644
--- a/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp
+++ b/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp
@@ -136,6 +136,10 @@ void tst_QSaveFile::retryTransactionalWrite()
{
#ifndef Q_OS_UNIX
QSKIP("This test is Unix only");
+#else
+ // root can open the read-only file for writing...
+ if (geteuid() == 0)
+ QSKIP("This test does not work as the root user");
#endif
QTemporaryDir dir;
QVERIFY2(dir.isValid(), qPrintable(dir.errorString()));
diff --git a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
index 00417fffa0..cdf79760f6 100644
--- a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -517,6 +517,9 @@ void tst_QTemporaryFile::openOnRootDrives()
QTemporaryFile file(driveInfo.filePath() + "XXXXXX.txt");
file.setAutoRemove(true);
QVERIFY(file.open());
+
+ QFileInfo fi(file.fileName());
+ QCOMPARE(fi.absoluteDir(), driveInfo.filePath());
}
}
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp
index 4c85482c6a..a167612b52 100644
--- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp
+++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp
@@ -56,7 +56,9 @@ private Q_SLOTS:
void testObjectSimple();
void testObjectSmallKeys();
+ void testObjectInsertCopies();
void testArraySimple();
+ void testArrayInsertCopies();
void testValueObject();
void testValueArray();
void testObjectNested();
@@ -591,6 +593,75 @@ void tst_QtJson::testObjectSmallKeys()
QCOMPARE(data1.end() - data1.begin(), 3);
}
+void tst_QtJson::testObjectInsertCopies()
+{
+ {
+ QJsonObject obj;
+ obj["prop1"] = "TEST";
+ QCOMPARE(obj.size(), 1);
+ QCOMPARE(obj.value("prop1"), "TEST");
+
+ obj["prop2"] = obj.value("prop1");
+ QCOMPARE(obj.size(), 2);
+ QCOMPARE(obj.value("prop1"), "TEST");
+ QCOMPARE(obj.value("prop2"), "TEST");
+ }
+ {
+ // see QTBUG-83366
+ QJsonObject obj;
+ obj["value"] = "TEST";
+ QCOMPARE(obj.size(), 1);
+ QCOMPARE(obj.value("value"), "TEST");
+
+ obj["prop2"] = obj.value("value");
+ QCOMPARE(obj.size(), 2);
+ QCOMPARE(obj.value("value"), "TEST");
+ QCOMPARE(obj.value("prop2"), "TEST");
+ }
+ {
+ QJsonObject obj;
+ obj["value"] = "TEST";
+ QCOMPARE(obj.size(), 1);
+ QCOMPARE(obj.value("value"), "TEST");
+
+ // same as previous, but this is a QJsonValueRef
+ QJsonValueRef rv = obj["prop2"];
+ rv = obj["value"];
+ QCOMPARE(obj.size(), 2);
+ QCOMPARE(obj.value("value"), "TEST");
+ QCOMPARE(obj.value("prop2"), "TEST");
+ }
+ {
+ QJsonObject obj;
+ obj["value"] = "TEST";
+ QCOMPARE(obj.size(), 1);
+ QCOMPARE(obj.value("value"), "TEST");
+
+ // same as previous, but this is a QJsonValueRef
+ QJsonValueRef rv = obj["value"];
+ obj["prop2"] = rv;
+ QCOMPARE(obj.size(), 2);
+ QCOMPARE(obj.value("value"), "TEST");
+ QEXPECT_FAIL("", "QTBUG-83398: design flaw: the obj[] call invalidates the QJsonValueRef", Continue);
+ QCOMPARE(obj.value("prop2"), "TEST");
+ }
+ {
+ QJsonObject obj;
+ obj["value"] = "TEST";
+ QCOMPARE(obj.size(), 1);
+ QCOMPARE(obj.value("value"), "TEST");
+
+ QJsonValueRef v = obj["value"];
+ QJsonObject obj2 = obj;
+ obj.insert("prop2", v);
+ QCOMPARE(obj.size(), 2);
+ QCOMPARE(obj.value("value"), "TEST");
+ QCOMPARE(obj.value("prop2"), "TEST");
+ QCOMPARE(obj2.size(), 1);
+ QCOMPARE(obj2.value("value"), "TEST");
+ }
+}
+
void tst_QtJson::testArraySimple()
{
QJsonArray array;
@@ -644,6 +715,32 @@ void tst_QtJson::testArraySimple()
QCOMPARE(array.at(1), QJsonValue(QLatin1String("test")));
}
+void tst_QtJson::testArrayInsertCopies()
+{
+ {
+ QJsonArray array;
+ array.append("TEST");
+ QCOMPARE(array.size(), 1);
+ QCOMPARE(array.at(0), "TEST");
+
+ array.append(array.at(0));
+ QCOMPARE(array.size(), 2);
+ QCOMPARE(array.at(0), "TEST");
+ QCOMPARE(array.at(1), "TEST");
+ }
+ {
+ QJsonArray array;
+ array.append("TEST");
+ QCOMPARE(array.size(), 1);
+ QCOMPARE(array.at(0), "TEST");
+
+ array.prepend(array.at(0));
+ QCOMPARE(array.size(), 2);
+ QCOMPARE(array.at(0), "TEST");
+ QCOMPARE(array.at(1), "TEST");
+ }
+}
+
void tst_QtJson::testValueObject()
{
QJsonObject object;
diff --git a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
index 6d8161c1f9..05cf199abe 100644
--- a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
+++ b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
@@ -65,6 +65,7 @@ private slots:
void arrayEmptyDetach();
void arrayInitializerList();
void arrayMutation();
+ void arrayMutateWithCopies();
void arrayPrepend();
void arrayInsertRemove_data() { basics_data(); }
void arrayInsertRemove();
@@ -79,6 +80,7 @@ private slots:
void mapEmptyDetach();
void mapSimpleInitializerList();
void mapMutation();
+ void mapMutateWithCopies();
void mapStringValues();
void mapStringKeys();
void mapInsertRemove_data() { basics_data(); }
@@ -816,6 +818,59 @@ void tst_QCborValue::arrayMutation()
QCOMPARE(val[2].toArray().size(), 5);
}
+void tst_QCborValue::arrayMutateWithCopies()
+{
+ {
+ QCborArray array;
+ array.append("TEST");
+ QCOMPARE(array.size(), 1);
+ QCOMPARE(array.at(0), "TEST");
+
+ array.append(array.at(0));
+ QCOMPARE(array.size(), 2);
+ QCOMPARE(array.at(0), "TEST");
+ QCOMPARE(array.at(1), "TEST");
+ }
+ {
+ QCborArray array;
+ array.append("TEST");
+ QCOMPARE(array.size(), 1);
+ QCOMPARE(array.at(0), "TEST");
+
+ // same as previous, but with prepend() not append()
+ array.prepend(array.at(0));
+ QCOMPARE(array.size(), 2);
+ QCOMPARE(array.at(0), "TEST");
+ QCOMPARE(array.at(1), "TEST");
+ }
+ {
+ QCborArray array;
+ array.append("TEST");
+ QCOMPARE(array.size(), 1);
+ QCOMPARE(array.at(0), "TEST");
+
+ // same as previous, but using a QCborValueRef
+ QCborValueRef rv = array[0];
+ array.prepend(rv);
+ QCOMPARE(array.size(), 2);
+ QCOMPARE(array.at(0), "TEST");
+ QCOMPARE(array.at(1), "TEST");
+ }
+ {
+ QCborArray array;
+ array.append("TEST");
+ QCOMPARE(array.size(), 1);
+ QCOMPARE(array.at(0), "TEST");
+
+ // same as previous, but now extending the array
+ QCborValueRef rv = array[0];
+ array[2] = rv;
+ QCOMPARE(array.size(), 3);
+ QCOMPARE(array.at(0), "TEST");
+ QCOMPARE(array.at(2), "TEST");
+ }
+}
+
void tst_QCborValue::mapMutation()
{
QCborMap m;
@@ -923,6 +978,76 @@ void tst_QCborValue::mapMutation()
QCOMPARE(val[any][3].toMap().size(), 1);
}
+void tst_QCborValue::mapMutateWithCopies()
+{
+ {
+ QCborMap map;
+ map[QLatin1String("prop1")] = "TEST";
+ QCOMPARE(map.size(), 1);
+ QCOMPARE(map.value("prop1"), "TEST");
+
+ map[QLatin1String("prop2")] = map.value("prop1");
+ QCOMPARE(map.size(), 2);
+ QCOMPARE(map.value("prop1"), "TEST");
+ QCOMPARE(map.value("prop2"), "TEST");
+ }
+ {
+ // see QTBUG-83366
+ QCborMap map;
+ map[QLatin1String("value")] = "TEST";
+ QCOMPARE(map.size(), 1);
+ QCOMPARE(map.value("value"), "TEST");
+
+ QCborValue v = map.value("value");
+ map[QLatin1String("prop2")] = v;
+ QCOMPARE(map.size(), 2);
+ QCOMPARE(map.value("value"), "TEST");
+ QCOMPARE(map.value("prop2"), "TEST");
+ }
+ {
+ QCborMap map;
+ map[QLatin1String("value")] = "TEST";
+ QCOMPARE(map.size(), 1);
+ QCOMPARE(map.value("value"), "TEST");
+
+ // same as previous, but this is a QJsonValueRef
+ QCborValueRef rv = map[QLatin1String("prop2")];
+ rv = map[QLatin1String("value")];
+ QCOMPARE(map.size(), 2);
+ QCOMPARE(map.value("value"), "TEST");
+ QCOMPARE(map.value("prop2"), "TEST");
+ }
+ {
+ QCborMap map;
+ map[QLatin1String("value")] = "TEST";
+ QCOMPARE(map.size(), 1);
+ QCOMPARE(map.value("value"), "TEST");
+
+ // same as previous, but now we call the operator[] that reallocates
+ // after we create the source QCborValueRef
+ QCborValueRef rv = map[QLatin1String("value")];
+ map[QLatin1String("prop2")] = rv;
+ QCOMPARE(map.size(), 2);
+ QCOMPARE(map.value("value"), "TEST");
+ QCOMPARE(map.value("prop2"), "TEST");
+ }
+ {
+ QCborMap map;
+ map[QLatin1String("value")] = "TEST";
+ QCOMPARE(map.size(), 1);
+ QCOMPARE(map.value("value"), "TEST");
+
+ QCborValueRef v = map[QLatin1String("value")];
+ QCborMap map2 = map;
+ map.insert(QLatin1String("prop2"), v);
+ QCOMPARE(map.size(), 2);
+ QCOMPARE(map.value("value"), "TEST");
+ QCOMPARE(map.value("prop2"), "TEST");
+ QCOMPARE(map2.size(), 1);
+ QCOMPARE(map2.value("value"), "TEST");
+ }
+}
+
void tst_QCborValue::arrayPrepend()
{
QCborArray a;
diff --git a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
index 54bb8fe0bd..ff4f4111fe 100644
--- a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
+++ b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
@@ -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 $MODULE$ of the Qt Toolkit.
@@ -656,9 +656,10 @@ void tst_QTouchEvent::basicRawEventTranslation()
QCOMPARE(touchBeginPoint.normalizedPos(), rawTouchPoint.normalizedPos());
QCOMPARE(touchBeginPoint.startNormalizedPos(), touchBeginPoint.normalizedPos());
QCOMPARE(touchBeginPoint.lastNormalizedPos(), touchBeginPoint.normalizedPos());
- QCOMPARE(touchBeginPoint.rect(), QRectF(pos, QSizeF(0, 0)));
- QCOMPARE(touchBeginPoint.screenRect(), QRectF(rawTouchPoint.screenPos(), QSizeF(0, 0)));
- QCOMPARE(touchBeginPoint.sceneRect(), touchBeginPoint.screenRect());
+ QCOMPARE(touchBeginPoint.pos(), pos);
+ QCOMPARE(touchBeginPoint.screenPos(), rawTouchPoint.screenPos());
+ QCOMPARE(touchBeginPoint.scenePos(), touchBeginPoint.scenePos());
+ QCOMPARE(touchBeginPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(touchBeginPoint.pressure(), qreal(1.));
QCOMPARE(touchBeginPoint.velocity(), QVector2D());
if (!QHighDpiScaling::isActive())
@@ -691,9 +692,10 @@ void tst_QTouchEvent::basicRawEventTranslation()
QCOMPARE(touchUpdatePoint.normalizedPos(), rawTouchPoint.normalizedPos());
QCOMPARE(touchUpdatePoint.startNormalizedPos(), touchBeginPoint.normalizedPos());
QCOMPARE(touchUpdatePoint.lastNormalizedPos(), touchBeginPoint.normalizedPos());
- QCOMPARE(touchUpdatePoint.rect(), QRectF(pos + delta, QSizeF(0, 0)));
- QCOMPARE(touchUpdatePoint.screenRect(), QRectF(rawTouchPoint.screenPos(), QSizeF(0, 0)));
- QCOMPARE(touchUpdatePoint.sceneRect(), touchUpdatePoint.screenRect());
+ QCOMPARE(touchUpdatePoint.pos(), pos + delta);
+ QCOMPARE(touchUpdatePoint.screenPos(), rawTouchPoint.screenPos());
+ QCOMPARE(touchUpdatePoint.scenePos(), touchUpdatePoint.scenePos());
+ QCOMPARE(touchUpdatePoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(touchUpdatePoint.pressure(), qreal(1.));
// releasing the point translates to TouchEnd
@@ -723,9 +725,10 @@ void tst_QTouchEvent::basicRawEventTranslation()
QCOMPARE(touchEndPoint.normalizedPos(), rawTouchPoint.normalizedPos());
QCOMPARE(touchEndPoint.startNormalizedPos(), touchBeginPoint.normalizedPos());
QCOMPARE(touchEndPoint.lastNormalizedPos(), touchUpdatePoint.normalizedPos());
- QCOMPARE(touchEndPoint.rect(), QRectF(pos + delta + delta, QSizeF(0, 0)));
- QCOMPARE(touchEndPoint.screenRect(), QRectF(rawTouchPoint.screenPos(), QSizeF(0, 0)));
- QCOMPARE(touchEndPoint.sceneRect(), touchEndPoint.screenRect());
+ QCOMPARE(touchEndPoint.pos(), pos + delta + delta);
+ QCOMPARE(touchEndPoint.screenPos(), rawTouchPoint.screenPos());
+ QCOMPARE(touchEndPoint.scenePos(), touchEndPoint.scenePos());
+ QCOMPARE(touchEndPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(touchEndPoint.pressure(), qreal(0.));
}
@@ -800,9 +803,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
QCOMPARE(leftTouchPoint.normalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.startNormalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.lastNormalizedPos(), rawTouchPoints[0].normalizedPos());
- QCOMPARE(leftTouchPoint.rect(), QRectF(leftPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.sceneRect(), QRectF(leftScreenPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.screenRect(), QRectF(leftScreenPos, QSizeF(0, 0)));
+ QCOMPARE(leftTouchPoint.pos(), leftPos);
+ QCOMPARE(leftTouchPoint.scenePos(), leftScreenPos);
+ QCOMPARE(leftTouchPoint.screenPos(), leftScreenPos);
+ QCOMPARE(leftTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(leftTouchPoint.pressure(), qreal(1.));
QTouchEvent::TouchPoint rightTouchPoint = rightWidget.touchBeginPoints.first();
@@ -820,9 +824,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
QCOMPARE(rightTouchPoint.normalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.startNormalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.lastNormalizedPos(), rawTouchPoints[1].normalizedPos());
- QCOMPARE(rightTouchPoint.rect(), QRectF(rightPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.sceneRect(), QRectF(rightScreenPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.screenRect(), QRectF(rightScreenPos, QSizeF(0, 0)));
+ QCOMPARE(rightTouchPoint.pos(), rightPos);
+ QCOMPARE(rightTouchPoint.scenePos(), rightScreenPos);
+ QCOMPARE(rightTouchPoint.screenPos(), rightScreenPos);
+ QCOMPARE(rightTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(rightTouchPoint.pressure(), qreal(1.));
}
@@ -864,9 +869,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
QCOMPARE(leftTouchPoint.normalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.startNormalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.lastNormalizedPos(), rawTouchPoints[0].normalizedPos());
- QCOMPARE(leftTouchPoint.rect(), QRectF(leftWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(leftTouchPoint.pos(), leftWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(leftTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(leftTouchPoint.pressure(), qreal(1.));
QTouchEvent::TouchPoint rightTouchPoint = rightWidget.touchUpdatePoints.first();
@@ -884,9 +890,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
QCOMPARE(rightTouchPoint.normalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.startNormalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.lastNormalizedPos(), rawTouchPoints[1].normalizedPos());
- QCOMPARE(rightTouchPoint.rect(), QRectF(rightWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(rightTouchPoint.pos(), rightWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(rightTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(rightTouchPoint.pressure(), qreal(1.));
}
@@ -928,9 +935,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
QCOMPARE(leftTouchPoint.normalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.startNormalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.lastNormalizedPos(), rawTouchPoints[0].normalizedPos());
- QCOMPARE(leftTouchPoint.rect(), QRectF(leftWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(leftTouchPoint.pos(), leftWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(leftTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(leftTouchPoint.pressure(), qreal(0.));
QTouchEvent::TouchPoint rightTouchPoint = rightWidget.touchEndPoints.first();
@@ -948,9 +956,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
QCOMPARE(rightTouchPoint.normalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.startNormalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.lastNormalizedPos(), rawTouchPoints[1].normalizedPos());
- QCOMPARE(rightTouchPoint.rect(), QRectF(rightWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(rightTouchPoint.pos(), rightWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(rightTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(rightTouchPoint.pressure(), qreal(0.));
}
}
@@ -1177,9 +1186,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
QCOMPARE(leftTouchPoint.normalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.startNormalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.lastNormalizedPos(), rawTouchPoints[0].normalizedPos());
- QCOMPARE(leftTouchPoint.rect(), QRectF(leftPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.sceneRect(), QRectF(leftScreenPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.screenRect(), QRectF(leftScreenPos, QSizeF(0, 0)));
+ QCOMPARE(leftTouchPoint.pos(), leftPos);
+ QCOMPARE(leftTouchPoint.scenePos(), leftScreenPos);
+ QCOMPARE(leftTouchPoint.screenPos(), leftScreenPos);
+ QCOMPARE(leftTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(leftTouchPoint.pressure(), qreal(1.));
QTouchEvent::TouchPoint rightTouchPoint = leftWidget.touchBeginPoints.at(1);
@@ -1197,9 +1207,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
QCOMPARE(rightTouchPoint.normalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.startNormalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.lastNormalizedPos(), rawTouchPoints[1].normalizedPos());
- QCOMPARE(rightTouchPoint.rect(), QRectF(leftWidget.mapFromGlobal(rightScreenPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.sceneRect(), QRectF(rightScreenPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.screenRect(), QRectF(rightScreenPos, QSizeF(0, 0)));
+ QCOMPARE(rightTouchPoint.pos(), rightWidget.mapFromParent(rightScreenPos.toPoint()));
+ QCOMPARE(rightTouchPoint.scenePos(), rightScreenPos);
+ QCOMPARE(rightTouchPoint.screenPos(), rightScreenPos);
+ QCOMPARE(rightTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(rightTouchPoint.pressure(), qreal(1.));
}
@@ -1241,9 +1252,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
QCOMPARE(leftTouchPoint.normalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.startNormalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.lastNormalizedPos(), rawTouchPoints[0].normalizedPos());
- QCOMPARE(leftTouchPoint.rect(), QRectF(leftWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(leftTouchPoint.pos(), leftWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(leftTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(leftTouchPoint.pressure(), qreal(1.));
QTouchEvent::TouchPoint rightTouchPoint = leftWidget.touchUpdatePoints.at(1);
@@ -1261,9 +1273,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
QCOMPARE(rightTouchPoint.normalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.startNormalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.lastNormalizedPos(), rawTouchPoints[1].normalizedPos());
- QCOMPARE(rightTouchPoint.rect(), QRectF(leftWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(rightTouchPoint.pos(), leftWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(rightTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(rightTouchPoint.pressure(), qreal(1.));
}
@@ -1305,9 +1318,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
QCOMPARE(leftTouchPoint.normalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.startNormalizedPos(), rawTouchPoints[0].normalizedPos());
QCOMPARE(leftTouchPoint.lastNormalizedPos(), rawTouchPoints[0].normalizedPos());
- QCOMPARE(leftTouchPoint.rect(), QRectF(leftWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(leftTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(leftTouchPoint.pos(), leftWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(leftTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(leftTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(leftTouchPoint.pressure(), qreal(0.));
QTouchEvent::TouchPoint rightTouchPoint = leftWidget.touchEndPoints.at(1);
@@ -1325,9 +1339,10 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
QCOMPARE(rightTouchPoint.normalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.startNormalizedPos(), rawTouchPoints[1].normalizedPos());
QCOMPARE(rightTouchPoint.lastNormalizedPos(), rawTouchPoints[1].normalizedPos());
- QCOMPARE(rightTouchPoint.rect(), QRectF(leftWidget.mapFromParent(centerPos.toPoint()), QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.sceneRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
- QCOMPARE(rightTouchPoint.screenRect(), QRectF(centerScreenPos, QSizeF(0, 0)));
+ QCOMPARE(rightTouchPoint.pos(), leftWidget.mapFromParent(centerPos.toPoint()));
+ QCOMPARE(rightTouchPoint.scenePos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.screenPos(), centerScreenPos);
+ QCOMPARE(rightTouchPoint.ellipseDiameters(), QSizeF(0, 0));
QCOMPARE(rightTouchPoint.pressure(), qreal(0.));
}
}
@@ -1858,13 +1873,13 @@ void tst_QTouchEvent::testMultiDevice()
tp.id = 0;
tp.state = Qt::TouchPointPressed;
const QPoint screenOrigin = w.screen()->geometry().topLeft();
- const QRect area0(120, 120, 20, 20);
+ const QRectF area0(120, 120, 20, 20);
tp.area = QHighDpi::toNative(area0, QHighDpiScaling::factor(&w), screenOrigin);
pointsOne.append(tp);
pointsTwo.append(tp);
tp.id = 1;
- const QRect area1(140, 140, 20, 20);
+ const QRectF area1(140, 140, 20, 20);
tp.area = QHighDpi::toNative(area1, QHighDpiScaling::factor(&w), screenOrigin);
pointsTwo.append(tp);
@@ -1880,12 +1895,14 @@ void tst_QTouchEvent::testMultiDevice()
QCOMPARE(filter.d.value(touchScreenDevice).points.count(), 1);
QCOMPARE(filter.d.value(deviceTwo).points.count(), 2);
- QCOMPARE(filter.d.value(touchScreenDevice).points.at(0).screenRect(), QRectF(area0));
+ QCOMPARE(filter.d.value(touchScreenDevice).points.at(0).screenPos(), area0.center());
+ QCOMPARE(filter.d.value(touchScreenDevice).points.at(0).ellipseDiameters(), area0.size());
QCOMPARE(filter.d.value(touchScreenDevice).points.at(0).state(), pointsOne[0].state);
- QCOMPARE(filter.d.value(deviceTwo).points.at(0).screenRect(), QRectF(area0));
+ QCOMPARE(filter.d.value(deviceTwo).points.at(0).screenPos(), area0.center());
+ QCOMPARE(filter.d.value(deviceTwo).points.at(0).ellipseDiameters(), area0.size());
QCOMPARE(filter.d.value(deviceTwo).points.at(0).state(), pointsTwo[0].state);
- QCOMPARE(filter.d.value(deviceTwo).points.at(1).screenRect(), QRectF(area1));
+ QCOMPARE(filter.d.value(deviceTwo).points.at(1).screenPos(), area1.center());
QCOMPARE(filter.d.value(deviceTwo).points.at(1).state(), pointsTwo[1].state);
}
diff --git a/tests/auto/network/socket/platformsocketengine/platformsocketengine.pri b/tests/auto/network/socket/platformsocketengine/platformsocketengine.pri
index df43a60065..1b304bfc69 100644
--- a/tests/auto/network/socket/platformsocketengine/platformsocketengine.pri
+++ b/tests/auto/network/socket/platformsocketengine/platformsocketengine.pri
@@ -6,10 +6,3 @@ INCLUDEPATH += $$QNETWORK_SRC
win32: QMAKE_USE += ws2_32
-unix:qtConfig(reduce_exports) {
- SOURCES += $$QNETWORK_SRC/socket/qnativesocketengine_unix.cpp
- SOURCES += $$QNETWORK_SRC/socket/qnativesocketengine.cpp
- HEADERS += $$QNETWORK_SRC/socket/qnativesocketengine_p.h
- SOURCES += $$QNETWORK_SRC/socket/qabstractsocketengine.cpp
- HEADERS += $$QNETWORK_SRC/socket/qabstractsocketengine_p.h
-}