Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: .qmake.conf qmake/generators/makefile.cpp Change-Id: Ifb2633a69d0bf8cdf12d799c6259beefc279c49e
This commit is contained in:
commit
deee7b7ece
@ -34,10 +34,20 @@ CMAKE_INCLUDE_NAME = $$eval(QT.$${MODULE}.name)
|
||||
|
||||
# TARGET here is the one changed at the end of qt_module.prf,
|
||||
# which already contains the Qt5 prefix and QT_LIBINFIX suffix :
|
||||
# Qt5Core_suffix, Qt5Network_suffix, Foo_suffix
|
||||
# (or QtCore_suffix, Foo_suffix on macos with -framework)
|
||||
# Qt5Core_{libinfix_suffix}, Qt5Network_{libinfix_suffix}, Foo_{libinfix_suffix}
|
||||
# (or QtCore_{libinfix_suffix}, Foo_{libinfix_suffix} on macos with -framework).
|
||||
CMAKE_QT_STEM = $${TARGET}
|
||||
|
||||
# On macOS when building just a debug configuration which is not part of debug_and_release,
|
||||
# $${TARGET} already contains a _debug suffix, as per the following call chain:
|
||||
# qt_module.prf -> qt5LibraryTarget -> qtLibraryTarget -> qtPlatformTargetSuffix.
|
||||
# Remove the _debug suffix in the stem, to keep all further uses of CMAKE_QT_STEM consistent.
|
||||
# The _debug suffix is then re-added where needed regardless if it's a debug_and_release build
|
||||
# or just debug.
|
||||
darwin:!qt_framework:!debug_and_release:CONFIG(debug, debug|release) {
|
||||
CMAKE_QT_STEM = $$replace(CMAKE_QT_STEM, _debug$, )
|
||||
}
|
||||
|
||||
!generated_privates {
|
||||
isEmpty(SYNCQT.INJECTED_PRIVATE_HEADER_FILES):isEmpty(SYNCQT.PRIVATE_HEADER_FILES): \
|
||||
CMAKE_NO_PRIVATE_INCLUDES = true
|
||||
@ -211,18 +221,18 @@ CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
|
||||
|
||||
mac {
|
||||
!isEmpty(CMAKE_STATIC_TYPE) {
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
|
||||
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
|
||||
|
||||
CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.prl
|
||||
CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.prl
|
||||
CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
|
||||
} else {
|
||||
qt_framework {
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}.framework/$${CMAKE_QT_STEM}
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}.framework/$${CMAKE_QT_STEM}_debug
|
||||
CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.framework/$${CMAKE_QT_STEM}
|
||||
CMAKE_BUILD_IS_FRAMEWORK = "true"
|
||||
} else {
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.$$eval(QT.$${MODULE}.VERSION).dylib
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.$$eval(QT.$${MODULE}.VERSION).dylib
|
||||
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$$eval(QT.$${MODULE}.VERSION).dylib
|
||||
}
|
||||
}
|
||||
|
@ -56,9 +56,16 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE)
|
||||
|
||||
if(EXISTS \"${prl_file_location}\")
|
||||
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 \"[ \\t]+\" \";\" _static_depends ${_static_depends})
|
||||
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
|
||||
|
||||
# file(STRINGS) replaces all semicolons read from the file with backslash semicolons.
|
||||
# We need to do a reverse transformation in CMake. For that we replace all backslash
|
||||
# semicolons with just semicolons, but due to the qmake substitution feature
|
||||
# creating this file, we need to double the amount of backslashes, so the final file
|
||||
# should have three backslashes and one semicolon.
|
||||
string(REGEX REPLACE \"\\\\\\;\" \";\" _prl_strings \"${_prl_strings}\")
|
||||
|
||||
string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends \"${_prl_strings}\")
|
||||
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\")
|
||||
set(_search_paths)
|
||||
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
|
||||
|
@ -1,7 +1,7 @@
|
||||
isEmpty(QMAKE_INCDIR_VULKAN) {
|
||||
# Pick up the VULKAN_SDK env var set by the LunarG SDK so that the Vulkan
|
||||
# headers are found out-of-the-box on typical Windows setups.
|
||||
QMAKE_INCDIR_VULKAN = $$(VULKAN_SDK)\\include
|
||||
QMAKE_INCDIR_VULKAN = $$(VULKAN_SDK)/include
|
||||
|
||||
# Do not export the include dir but resolve it on every qmake call.
|
||||
QMAKE_EXPORT_INCDIR_VULKAN = -
|
||||
|
@ -1015,6 +1015,14 @@ MakefileGenerator::writePrlFile(QTextStream &t)
|
||||
for (ProStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
|
||||
t << qv(project->values((*it).toKey()));
|
||||
t << Qt::endl;
|
||||
|
||||
t << "QMAKE_PRL_LIBS_FOR_CMAKE = ";
|
||||
QString sep;
|
||||
for (ProStringList::Iterator it = libs.begin(); it != libs.end(); ++it) {
|
||||
t << sep << project->values((*it).toKey()).join(';').replace('\\', "\\\\");
|
||||
sep = ';';
|
||||
}
|
||||
t << Qt::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -903,6 +903,10 @@ inline QRandomGenerator::SystemGenerator &QRandomGenerator::SystemGenerator::sel
|
||||
|
||||
\snippet code/src_corelib_global_qrandom.cpp 12
|
||||
|
||||
If the \a highest parameter is negative, the result will be negative too;
|
||||
if it is infinite or NaN, the result will be infinite or NaN too (that is,
|
||||
not random).
|
||||
|
||||
\sa generateDouble(), bounded()
|
||||
*/
|
||||
|
||||
@ -934,7 +938,7 @@ inline QRandomGenerator::SystemGenerator &QRandomGenerator::SystemGenerator::sel
|
||||
\overload
|
||||
|
||||
Generates one random 32-bit quantity in the range between 0 (inclusive) and
|
||||
\a highest (exclusive). \a highest must not be negative.
|
||||
\a highest (exclusive). \a highest must be positive.
|
||||
|
||||
Note that this function cannot be used to obtain values in the full 32-bit
|
||||
range of int. Instead, use generate() and cast to int.
|
||||
@ -946,8 +950,11 @@ inline QRandomGenerator::SystemGenerator &QRandomGenerator::SystemGenerator::sel
|
||||
\fn quint32 QRandomGenerator::bounded(quint32 lowest, quint32 highest)
|
||||
\overload
|
||||
|
||||
Generates one random 32-bit quantity in the range between \a lowest (inclusive)
|
||||
and \a highest (exclusive). The same result may also be obtained by using
|
||||
Generates one random 32-bit quantity in the range between \a lowest
|
||||
(inclusive) and \a highest (exclusive). The \a highest parameter must be
|
||||
greater than \a lowest.
|
||||
|
||||
The same result may also be obtained by using
|
||||
\l{http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution}{\c std::uniform_int_distribution}
|
||||
with parameters \a lowest and \c{\a highest - 1}. That class can also be used to
|
||||
obtain quantities larger than 32 bits.
|
||||
@ -968,7 +975,8 @@ inline QRandomGenerator::SystemGenerator &QRandomGenerator::SystemGenerator::sel
|
||||
\overload
|
||||
|
||||
Generates one random 32-bit quantity in the range between \a lowest
|
||||
(inclusive) and \a highest (exclusive), both of which may be negative.
|
||||
(inclusive) and \a highest (exclusive), both of which may be negative, but
|
||||
\a highest must be greater than \a lowest.
|
||||
|
||||
Note that this function cannot be used to obtain values in the full 32-bit
|
||||
range of int. Instead, use generate() and cast to int.
|
||||
|
@ -122,16 +122,18 @@ public:
|
||||
return quint32(value);
|
||||
}
|
||||
|
||||
int bounded(int highest)
|
||||
{
|
||||
return int(bounded(quint32(highest)));
|
||||
}
|
||||
|
||||
quint32 bounded(quint32 lowest, quint32 highest)
|
||||
{
|
||||
Q_ASSERT(highest > lowest);
|
||||
return bounded(highest - lowest) + lowest;
|
||||
}
|
||||
|
||||
int bounded(int highest)
|
||||
{
|
||||
Q_ASSERT(highest > 0);
|
||||
return int(bounded(0U, quint32(highest)));
|
||||
}
|
||||
|
||||
int bounded(int lowest, int highest)
|
||||
{
|
||||
return bounded(highest - lowest) + lowest;
|
||||
|
@ -2232,6 +2232,8 @@ void QObject::removeEventFilter(QObject *obj)
|
||||
*/
|
||||
|
||||
/*!
|
||||
\threadsafe
|
||||
|
||||
Schedules this object for deletion.
|
||||
|
||||
The object will be deleted when control returns to the event
|
||||
|
@ -1194,7 +1194,7 @@ bool QRect::intersects(const QRect &r) const noexcept
|
||||
\fn QRect operator-(const QRect &lhs, const QMargins &rhs)
|
||||
\relates QRect
|
||||
|
||||
Returns the \a lhs rectangle shrunken by the \a rhs margins.
|
||||
Returns the \a lhs rectangle shrunk by the \a rhs margins.
|
||||
|
||||
\since 5.3
|
||||
*/
|
||||
@ -2417,7 +2417,7 @@ QRect QRectF::toAlignedRect() const noexcept
|
||||
\relates QRectF
|
||||
\since 5.3
|
||||
|
||||
Returns the \a lhs rectangle grown by the \a rhs margins.
|
||||
Returns the \a lhs rectangle shrunk by the \a rhs margins.
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -1548,7 +1548,16 @@ void QTextHtmlParser::applyAttributes(const QStringList &attributes)
|
||||
n -= 3;
|
||||
node->charFormat.setProperty(QTextFormat::FontSizeAdjustment, n);
|
||||
} else if (key == QLatin1String("face")) {
|
||||
node->charFormat.setFontFamily(value);
|
||||
if (value.contains(QLatin1Char(','))) {
|
||||
const QStringList values = value.split(QLatin1Char(','));
|
||||
QStringList families;
|
||||
for (const QString &family : values)
|
||||
families << family.trimmed();
|
||||
node->charFormat.setFontFamilies(families);
|
||||
node->charFormat.setFontFamily(families.at(0));
|
||||
} else {
|
||||
node->charFormat.setFontFamily(value);
|
||||
}
|
||||
} else if (key == QLatin1String("color")) {
|
||||
QColor c; c.setNamedColor(value);
|
||||
if (!c.isValid())
|
||||
|
@ -236,6 +236,7 @@ QNetworkReplyWasmImpl::~QNetworkReplyWasmImpl()
|
||||
|
||||
QByteArray QNetworkReplyWasmImpl::methodName() const
|
||||
{
|
||||
const Q_D( QNetworkReplyWasmImpl);
|
||||
switch (operation()) {
|
||||
case QNetworkAccessManager::HeadOperation:
|
||||
return "HEAD";
|
||||
@ -247,6 +248,8 @@ QByteArray QNetworkReplyWasmImpl::methodName() const
|
||||
return "POST";
|
||||
case QNetworkAccessManager::DeleteOperation:
|
||||
return "DELETE";
|
||||
case QNetworkAccessManager::CustomOperation:
|
||||
return d->request.attribute(QNetworkRequest::CustomVerbAttribute).toByteArray();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -608,13 +608,13 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters()
|
||||
socketType = qt_socket_getType(socketDescriptor);
|
||||
|
||||
#if defined (QNATIVESOCKETENGINE_DEBUG)
|
||||
QString socketProtocolStr = "UnknownProtocol";
|
||||
if (socketProtocol == QAbstractSocket::IPv4Protocol) socketProtocolStr = "IPv4Protocol";
|
||||
else if (socketProtocol == QAbstractSocket::IPv6Protocol) socketProtocolStr = "IPv6Protocol";
|
||||
QString socketProtocolStr = QStringLiteral("UnknownProtocol");
|
||||
if (socketProtocol == QAbstractSocket::IPv4Protocol) socketProtocolStr = QStringLiteral("IPv4Protocol");
|
||||
else if (socketProtocol == QAbstractSocket::IPv6Protocol) socketProtocolStr = QStringLiteral("IPv6Protocol");
|
||||
|
||||
QString socketTypeStr = "UnknownSocketType";
|
||||
if (socketType == QAbstractSocket::TcpSocket) socketTypeStr = "TcpSocket";
|
||||
else if (socketType == QAbstractSocket::UdpSocket) socketTypeStr = "UdpSocket";
|
||||
QString socketTypeStr = QStringLiteral("UnknownSocketType");
|
||||
if (socketType == QAbstractSocket::TcpSocket) socketTypeStr = QStringLiteral("TcpSocket");
|
||||
else if (socketType == QAbstractSocket::UdpSocket) socketTypeStr = QStringLiteral("UdpSocket");
|
||||
|
||||
qDebug("QNativeSocketEnginePrivate::fetchConnectionParameters() localAddress == %s, localPort = %i, peerAddress == %s, peerPort = %i, socketProtocol == %s, socketType == %s", localAddress.toString().toLatin1().constData(), localPort, peerAddress.toString().toLatin1().constData(), peerPort, socketProtocolStr.toLatin1().constData(), socketTypeStr.toLatin1().constData());
|
||||
#endif
|
||||
@ -1477,8 +1477,8 @@ qint64 QNativeSocketEnginePrivate::nativeWrite(const char *data, qint64 len)
|
||||
}
|
||||
|
||||
#if defined (QNATIVESOCKETENGINE_DEBUG)
|
||||
qDebug("QNativeSocketEnginePrivate::nativeWrite(%p \"%s\", %li) == %li",
|
||||
data, qt_prettyDebug(data, qMin((int)ret, 16), (int)ret).data(), (int)len, (int)ret);
|
||||
qDebug("QNativeSocketEnginePrivate::nativeWrite(%p \"%s\", %lli) == %lli",
|
||||
data, qt_prettyDebug(data, qMin(int(ret), 16), int(ret)).data(), len, ret);
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
@ -1520,11 +1520,11 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxLength)
|
||||
|
||||
#if defined (QNATIVESOCKETENGINE_DEBUG)
|
||||
if (ret != -2) {
|
||||
qDebug("QNativeSocketEnginePrivate::nativeRead(%p \"%s\", %li) == %li",
|
||||
data, qt_prettyDebug(data, qMin((int)bytesRead, 16), (int)bytesRead).data(), (int)maxLength, (int)ret);
|
||||
qDebug("QNativeSocketEnginePrivate::nativeRead(%p \"%s\", %lli) == %lli",
|
||||
data, qt_prettyDebug(data, qMin(int(bytesRead), 16), int(bytesRead)).data(), maxLength, ret);
|
||||
} else {
|
||||
qDebug("QNativeSocketEnginePrivate::nativeRead(%p, %li) == -2 (WOULD BLOCK)",
|
||||
data, int(maxLength));
|
||||
qDebug("QNativeSocketEnginePrivate::nativeRead(%p, %lli) == -2 (WOULD BLOCK)",
|
||||
data, maxLength);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1188,6 +1188,8 @@ void QSocks5SocketEnginePrivate::_q_controlSocketReadNotification()
|
||||
break;
|
||||
case RequestMethodSent:
|
||||
parseRequestMethodReply();
|
||||
if (socks5State == Connected && data->controlSocket->bytesAvailable())
|
||||
_q_controlSocketReadNotification();
|
||||
break;
|
||||
case Connected: {
|
||||
QByteArray buf;
|
||||
@ -1751,6 +1753,11 @@ bool QSocks5SocketEngine::waitForRead(int msecs, bool *timedOut)
|
||||
return false;
|
||||
if (d->data->controlSocket->state() == QAbstractSocket::UnconnectedState)
|
||||
return true;
|
||||
if (bytesAvailable() && d->readNotificationPending) {
|
||||
// We've got some data incoming, but the queued call hasn't been performed yet.
|
||||
// The data is where we expect it to be already, so just return true.
|
||||
return true;
|
||||
}
|
||||
|
||||
// we're connected
|
||||
if (d->mode == QSocks5SocketEnginePrivate::ConnectMode ||
|
||||
|
@ -11517,10 +11517,9 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
|
||||
}
|
||||
break;
|
||||
case Qt::WA_TranslucentBackground:
|
||||
if (on) {
|
||||
if (on)
|
||||
setAttribute(Qt::WA_NoSystemBackground);
|
||||
d->updateIsTranslucent();
|
||||
}
|
||||
d->updateIsTranslucent();
|
||||
|
||||
break;
|
||||
case Qt::WA_AcceptTouchEvents:
|
||||
|
@ -549,7 +549,8 @@ void tst_QPluginLoader::staticPlugins()
|
||||
}
|
||||
QVERIFY(found);
|
||||
|
||||
QCOMPARE(metaData.value("version").toInt(), QT_VERSION);
|
||||
// We don't store the patch release version anymore (since 5.13)
|
||||
QCOMPARE(metaData.value("version").toInt() / 0x100, QT_VERSION / 0x100);
|
||||
QCOMPARE(metaData.value("IID").toString(), "SomeIID");
|
||||
QCOMPARE(metaData.value("ExtraMetaData"), QJsonArray({ "StaticPlugin", "foo" }));
|
||||
QCOMPARE(metaData.value("URI").toString(), "qt.test.pluginloader.staticplugin");
|
||||
|
@ -188,6 +188,9 @@ private slots:
|
||||
|
||||
void lineHeightType();
|
||||
void cssLineHeightMultiplier();
|
||||
|
||||
void fontTagFace();
|
||||
|
||||
private:
|
||||
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
|
||||
void buildRegExpData();
|
||||
@ -3498,5 +3501,26 @@ void tst_QTextDocument::cssLineHeightMultiplier()
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QTextDocument::fontTagFace()
|
||||
{
|
||||
{
|
||||
QTextDocument td;
|
||||
td.setHtml("<html><body><font face='Times'>Foobar</font></body></html>");
|
||||
QTextFragment fragment = td.begin().begin().fragment();
|
||||
QTextCharFormat format = fragment.charFormat();
|
||||
QCOMPARE(format.fontFamily(), QLatin1String("Times"));
|
||||
}
|
||||
|
||||
{
|
||||
QTextDocument td;
|
||||
td.setHtml("<html><body><font face='Times, serif'>Foobar</font></body></html>");
|
||||
QTextFragment fragment = td.begin().begin().fragment();
|
||||
QTextCharFormat format = fragment.charFormat();
|
||||
QCOMPARE(format.fontFamily(), QLatin1String("Times"));
|
||||
QStringList expectedFamilies = { QLatin1String("Times"), QLatin1String("serif") };
|
||||
QCOMPARE(format.fontFamilies().toStringList(), expectedFamilies);
|
||||
}
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QTextDocument)
|
||||
#include "tst_qtextdocument.moc"
|
||||
|
@ -326,8 +326,8 @@ void tst_QTcpSocket::initTestCase_data()
|
||||
QTest::addColumn<bool>("ssl");
|
||||
|
||||
QTest::newRow("WithoutProxy") << false << 0 << false;
|
||||
//QTest::newRow("WithSocks5Proxy") << true << int(Socks5Proxy) << false; ### temporarily disabled, QTBUG-38385
|
||||
//QTest::newRow("WithSocks5ProxyAuth") << true << int(Socks5Proxy | AuthBasic) << false; ### temporarily disabled, QTBUG-38385
|
||||
QTest::newRow("WithSocks5Proxy") << true << int(Socks5Proxy) << false;
|
||||
QTest::newRow("WithSocks5ProxyAuth") << true << int(Socks5Proxy | AuthBasic) << false;
|
||||
|
||||
QTest::newRow("WithHttpProxy") << true << int(HttpProxy) << false;
|
||||
QTest::newRow("WithHttpProxyBasicAuth") << true << int(HttpProxy | AuthBasic) << false;
|
||||
@ -335,8 +335,8 @@ void tst_QTcpSocket::initTestCase_data()
|
||||
|
||||
#ifndef QT_NO_SSL
|
||||
QTest::newRow("WithoutProxy SSL") << false << 0 << true;
|
||||
//QTest::newRow("WithSocks5Proxy SSL") << true << int(Socks5Proxy) << true; ### temporarily disabled, QTBUG-38385
|
||||
//QTest::newRow("WithSocks5AuthProxy SSL") << true << int(Socks5Proxy | AuthBasic) << true; ### temporarily disabled, QTBUG-38385
|
||||
QTest::newRow("WithSocks5Proxy SSL") << true << int(Socks5Proxy) << true;
|
||||
QTest::newRow("WithSocks5AuthProxy SSL") << true << int(Socks5Proxy | AuthBasic) << true;
|
||||
|
||||
QTest::newRow("WithHttpProxy SSL") << true << int(HttpProxy) << true;
|
||||
QTest::newRow("WithHttpProxyBasicAuth SSL") << true << int(HttpProxy | AuthBasic) << true;
|
||||
|
@ -5055,6 +5055,12 @@ public:
|
||||
|
||||
void tst_QGraphicsItem::paint()
|
||||
{
|
||||
#if defined(Q_OS_MACOS)
|
||||
if (QSysInfo::productVersion() == QLatin1String("10.12")) {
|
||||
QSKIP("Test is very flaky on MacOS_10_12, see QTBUG-76566");
|
||||
}
|
||||
#endif
|
||||
|
||||
QGraphicsScene scene;
|
||||
|
||||
PaintTester paintTester;
|
||||
|
@ -8864,6 +8864,12 @@ void tst_QWidget::translucentWidget()
|
||||
QEXPECT_FAIL("", "WinRT: This fails. QTBUG-68297.", Abort);
|
||||
QCOMPARE(actual.size(),expected.size());
|
||||
QCOMPARE(actual,expected);
|
||||
|
||||
const QWindow *window = label.windowHandle();
|
||||
const QSurfaceFormat translucentFormat = window->requestedFormat();
|
||||
label.setAttribute(Qt::WA_TranslucentBackground, false);
|
||||
const QSurfaceFormat opaqueFormat = window->requestedFormat();
|
||||
QVERIFY(translucentFormat != opaqueFormat);
|
||||
}
|
||||
|
||||
class MaskResizeTestWidget : public QWidget
|
||||
|
Loading…
x
Reference in New Issue
Block a user