Commit Graph

34062 Commits (c36fb76bed009f0700a3998937a2ca7de50ecbf3)

Author SHA1 Message Date
Alexandru Croitor a0bd8c7893 CMake: Fix pcre2 compilation with intelcet part 2
I somehow forgot that we build the pcre2 sources not only as part of
the bootstrap library and qmake, but also as separate library as well.

Apply the flags to the bundled library.

Amends 976fa5134a
Amends fa98adbd04

Change-Id: Ia1db3a8bd731c7e3ee4d7109be8e2ef98c594070
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-25 09:07:51 +02:00
Allan Sandfeld Jensen 177c0ef204 Avoid converting supersized QRectF to QRect
Check that the sizes are even representable when checking if clipping is
necessary.

Fixes oss-fuzz 23630

Pick-to: 5.15 5.12
Change-Id: I95d6873d28b0e4f47aae7666f7ee96b745dc997b
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-06-25 08:46:04 +02:00
Jarek Kobus 64c3ca0910 Use QList instead of QVector in sql
Task-number: QTBUG-84469
Change-Id: I942aec7d949331a52d7f12fa2725d8d9707f605f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-25 07:54:21 +02:00
Andy Shaw 33c24b9b9d Android: Don't pause when in multi window mode
When the application is in multi window mode then when pausing it should
not suspend the application as it can still be visible in the
background.

Change-Id: I03a561459b2aa04c808b7d4220cd3e558671dd17
Pick-to: 5.15
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-06-25 07:32:04 +02:00
Volker Hilsheimer 66c9033f7d Fix compile warnings when passing short ints into printf formatting
Use %hd instead of %d.

Change-Id: I0062a507140d70263770cd7fe923efe94822d00e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-25 06:20:32 +02:00
Lars Knoll 95e84c0ea9 Allow qMin, qMax and qBound for types that can be losslessly converted
Add overloads for qMin and friends where the arguments are of different
type, but one can be easily promoted to the other. Return the promoted
type. Promotions are only allowed if both types are either signed,
unsigned or floating point numbers.

This should simplify writing code in many case (as for example
qMin(myint64, 1)) and also help reduce source incompatibilities between
Qt 5 and Qt 6, where the return types for sizes of our containers changes
from int to qsizetype.

Change-Id: Ia6bcf16bef0469ea568063e7c32f532da610d1cd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-25 06:20:18 +02:00
Volker Hilsheimer 0dbd2dd863 Skip proxy widgets that can't take focus when (back)tabbing
Fixes regression introduced in b4981f9d4c,
due to which it was possible to back-tab into a widget even though it or
its focusProxy had a NoFocus policy.

As a drive-by, split the complicated if-statement up a bit for improved
readability.

Change-Id: Ib0ac2604076e812e340b11534c23ae8ae958d082
Fixes: QTBUG-76924
Pick-to: 5.15 5.12
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-06-25 06:20:03 +02:00
Mike Achtelik 907027ab80 QMetaObject: Compare threadIds when checking receiver thread
Comparing threadIds is faster, especially if invoked from a non qt thread,
where QThread::currentThread() needs to create a QAdoptedThread/QThreadData first.

Pick-to: 5.15
Change-Id: I44b3013283754f1a5ac9d62debcf4c82be77c554
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-25 06:11:57 +02:00
Thiago Macieira cb1c66bd20 Fix conversion of QVariant() in QJsonArrays and Objects (through CBOR)
When I wrote the QCborValue to QJsonValue conversion, I used
QJsonValue::Undefined because it allowed to keep some level of
compatibility in CBOR, despite the function documentation saying that
CBOR undefineds became JSON nulls. Which they did.

But when we converted QJson{Array,Object} to be backed by CBOR classes,
that Undefined meant the insertion into the array/object actually
deleted the entry.

[ChangeLog][JSON] Fixed a regression from 5.14 that caused values of
default-constructed QVariants in QVariantLists, QVariantMaps and
QVariantHashes to disappear when converting to JSON via
fromVariant{,List,Map,Hash}.

Fixes: QTBUG-84610
Pick-to: 5.15
Change-Id: Ic0987177fe463f352db9bd84993f116e2bdacc75
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-24 22:43:57 +02:00
Ulf Hermann bdc2493096 QPointingDevice: Parent the default mouse to QCoreApplication
Otherwise it will leak.

Change-Id: I1c522dace0139dac3e626399963f58c56f052aba
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-24 22:42:36 +02:00
Andreas Schwab a641720151 forkfd/linux: add support for RISC-V
Pick-to: 5.15
Change-Id: I758a401abd6851839908e09aec51edbe4aa95925
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 23:44:14 +00:00
Andreas Schwab b7bdd854cb forkfd/linux: handle failure from sys_clone
Pick-to: 5.15
Change-Id: I98a28a816fdc089cefcbf8f42053ddffedc10cdf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 23:44:14 +00:00
Mike Achtelik 5dc4004afc Fix living QLibrary member after shutdown of QCoreApplication
LibResolv uses a QLibrary which is a QObject that must be deleted
if the QCoreApplication is being destroyed to release the underlying library.
A Q_GLOBAL_STATIC won't release any memory and is not able to
manually release it.

Pick-to: 5.15
Task-number: QTBUG-84234
Change-Id: I97fe5faca309e9c1e85435f602ad7f8c3f633b48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 21:59:54 +02:00
Edward Welbourne bcc3472aa2 Add a warning and tidy some trivia
An attempt to setSpec(TimeZone) gets treated as setSpec(LocalTime), as
the method has no parameter to carry *which* zone; this was done
silently, but should be brought to the caller's attention.  So warn.

Moved a declaration closer to its use, folded an if/else into a single
assignment using ?: and removed a fatuous \fn just before the function
it desribed.

Change-Id: Ia35c87e0ba373675d3ae1e6ef3bf05016c06c48d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 14:01:12 +02:00
Edward Welbourne a04411119e Save DST status when computed for a mutable QDateTimeData
Most calls to localMSecsToEpochMSecs() happen from functions that
can't save the DST status it repots (due to the data being const); but
refreshDateTime() can and (given its name) clearly should.

Pick-to: 5.15
Change-Id: Ib53c88d2233925da275f0ac52f768cada92c5d2d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 14:01:12 +02:00
André Klitzing 7e5a803c08 Fix living QObject member after shutdown of QCoreApplication
QHostInfoLookupManager has a QThreadPool as member.

QThreadPool is a QObject and must be deleted if the QCoreApplication
is being destroyed to release the underlying ThreadData.
A Q_GLOBAL_STATIC won't release any memory is not able to
manually release it.

Pick-to: 5.15
Task-number: QTBUG-84234
Change-Id: I96be4601c3af38fa7c753a6f7acb8273ee277a27
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-23 14:01:11 +02:00
Andy Shaw 0fb1774a0a Simplify QSqlResultPrivate::fieldSerial()
Now that the bound values are kept in placeholder order we can
depend on that and not have to ensure that fieldSerial() would
give us something that is in alphabetical order should it end
up being sorted.

Change-Id: I3a3e443bef150a06f455e18e3502235b1ae4d242
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-23 08:31:47 +02:00
Marc Mutz 44da43e8e4 QString: add char8_t overload of fromUtf8()
Use the overload-with-template trick from P1423 to avoid ambiguities
when existing callers pass 0 or nullptr.

Add a qdoc-ignored macro to hide the fact that the overload is a
template.

[ChangeLog][QtCore][QString] Added char8_t overload of fromUtf8().

Change-Id: Iaa2d365bfa161ef36cc73fa3bad50aabf34d01db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 06:31:28 +00:00
André Klitzing 1304040e5d Fix living QObject after shutdown of QCoreApplication
QThreadPool is a QObject and must be deleted if the QCoreApplication
is being destroyed to release the underlying ThreadData.
A Q_GLOBAL_STATIC won't release any memory is not able to
manually release it.

Pick-to: 5.15
Task-number: QTBUG-84234
Change-Id: Ia82bcff2b564b753ed687f025ff86fa1bed1e64c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 08:31:00 +02:00
Thiago Macieira 727fab7d29 QCborMap: remove the optimization not to detach from non-const find()
All our tests were find() == end() or !=, which depends on the
evaluation order of the arguments to operator==(). If end() is called
first, then the detach happens before find() and all is well. But if
find() is called first, it may return end() before end() detaches.

[ChangeLog][QCborMap] Fixed a bug that could cause the iterator returned
from a failing key search with find() not to match end(). Now, every
call to find() will detach in shared QCborMaps; to avoid this, use
constFind() and constEnd().

Fixes: QTBUG-84583
Pick-to: 5.15 5.12
Change-Id: I552d244076a447ab92d7fffd161793496a8d03a8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-23 00:29:50 +00:00
Thiago Macieira cdcb75c46b QMimeDatabase/zlib: fix build with z_const macro empty
The next_in pointer in z_stream is defined as "z_const Bytef *" but
z_const is actually an empty macro in most builds. Since our data is
read-only constexpr, we need this const_cast to compile.

Fixes: QTBUG-84457
Pick-to: 5.15
Change-Id: Ied637aece2a7427b8a2dfffd1612a01ae46f7c1a
Reviewed-by: David Faure <david.faure@kdab.com>
2020-06-23 00:29:31 +00:00
Friedemann Kleint 04b120bc3c Prospective fix for trying to build FontConfig on Windows
Strawberry Perl has been found to ship a libfontconfig.
Change the exclusion to win32.

Fixes: QTBUG-85184
Change-Id: Ic953ba3226c275a204720ff83161fba138eae0cb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-22 22:25:46 +02:00
Marc Mutz ffb73175e6 QVarLengthArray: add missing move special member functions
A QVLA is copyable, so it should be movable, too.

Added a helper function a la P1144's uninitialized_relocate_n to deal
with the QTypeInfoQuery stuff. This way, the code is re-usable
everywhere it's needed. The same cannot be said for QArrayDataOps,
which only a parent can love...

[ChangeLog][QtCore][QVarLengthArray] Added missing move constructor
and move-assignment operator.

Task-number: QTBUG-39111
Change-Id: If0dc2aa78eb29062d73dcd3dc4647ba345ae39e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-22 17:24:07 +00:00
Jarek Kobus 670c5bd140 Use QList instead of QVector in moc
Task-number: QTBUG-84469
Change-Id: Id95a656e6277a7c348c02c3267a45ac176c1643b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-06-22 16:46:08 +02:00
Jarek Kobus a298a8ea54 Use QList instead of QVector in uic
Task-number: QTBUG-84469
Change-Id: I2ce8ca51409c8e29a84d88bdda968e6dec419bea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-22 13:58:30 +02:00
Jüri Valdmann d9a260eabe Use global share context in QRhiGles2
Needed for using native textures in WebEngine.

Task-number: QTBUG-78682
Change-Id: I8458b17767bb992357064d85f159781ea24e61dc
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-22 13:55:40 +02:00
Eirik Aavitsland f5c132ef28 Avoid Freetype synthesizing for large font sizes
Freetype's fake emboldening does not give good results for large font
sizes.

Pick-to: 5.15
Fixes: QTBUG-84570
Change-Id: I1a7722c1482e3450e5a549c31c9766d930fcd13a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-06-22 13:41:20 +02:00
Eskil Abrahamsen Blomfeldt b862788e62 Remove confusing comment in CoreText font engine
The comment says we don't need synthetic italic for oblique, but
synthetic italic actually *is* oblique, since there is no way to
synthesize italic. So just remove the comment as it is unclear
what its purpose is.

Change-Id: I72f727b958e817e376d73f6c001d410a5f55a152
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-22 13:38:01 +02:00
Giuseppe D'Angelo 436b331b71 Enable access to the VAO resolvers through QOpenGLContextPrivate
This is a commit in preparation for an upcoming change in QtQuick.
We want to store the resolved functions for managing VAOs somewhere;
the "least worst" choice is next to the all other function resolvers,
which are in QOpenGLContext(Private).

To avoid moving the VAO resolvers themselves, leave a hook in
QOGLCPrivate, similar to e.g. the texture function resolvers. The hook
gets populated when the VAO resolvers for a given context are
requested.

This removes memory management burden from the users of those functions
(again, just like other function resolvers), and makes the
initialization of the functions automatic.

Change-Id: I0eba30a85bf8ad82946a5d68e91009d8b4bd91cf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-22 12:48:30 +02:00
Mårten Nordheim f1f0aa4a3a QNAM: Make QNetworkConnectionMonitor able to move to another thread
Requires moving construction and destruction of the IConnectionPoint
(contained in QNetworkListManagerEvents contained in
QNetworkStatusMonitorPrivate) and the calls to CoInitialize and
CoUninitialize to start()/stop() so it can be taken down
and brought up in a reasonable way.

Partial squashed cherry pick of bde6b27882143acbafa8c0b2e8055c3808ae3dd4
and the following fixup patch 84be436ef0f8253af87cdd2742858107e54c228b.

Task-number: QTBUG-84031
Change-Id: I9d644261c6c730ea511e28d75da91bd34504bd03
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit bde6b27882143acbafa8c0b2e8055c3808ae3dd4)
(cherry picked from commit 84be436ef0f8253af87cdd2742858107e54c228b)
2020-06-22 12:17:55 +02:00
Timur Pocheptsov c2bf56fc3a QSslSocket: remove certificate-related setters
They were deprecated with replacements in QSslConfiguration proposed (and
some without alternative, which we'll provide if there is any demand
in such an API). Special thanks to M.N. for a nice hint on how to
amend the test without introducing a new API.

Change-Id: I7841a5b3f30469d8204b61cb65921c34275e0650
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-22 12:11:47 +02:00
Shawn Rutledge 29d3e7ce38 Replace "no devices registered" warnings with qCDebug
The idea was to keep nagging us to update all the platform plugins to
do device registration. But besides being annoying, it would cause
test failures if we start adding QTest::ignoreMessage() all over,
and then some platforms start doing device registration properly.

Change-Id: Ia0fbb64cf86f33532be032ec9eebe6e4ad607f20
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-22 11:22:17 +02:00
Jarek Kobus 4a12757e5d Use QList instead of QVector in QtConcurrent
Task-number: QTBUG-84469
Change-Id: I99e41c1fef5459d7358b20a97a1dbefcd43bb4e5
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-22 10:37:50 +02:00
Friedemann Kleint c068b80727 Move UNIX themes into QtGui
Task-number: QTBUG-83255
Change-Id: I9e3aecd8e172b60121f472c840eaf2a5538af438
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-22 09:12:14 +02:00
Andy Shaw 8ba9d2e022 Change boundValues() to return a QVariantList
This enables the order of boundValues to be consistent as with a QMap
it could have been reordered which can be a problem for positional
bindings.

[ChangeLog][QtSQL] Changed signature of QSqlQuery::boundValues() to
return a QVariantList

Fixes: QTBUG-51609
Change-Id: I1c80fa8522fa7352723420b6fc9ec466406315fb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-22 06:54:16 +02:00
Tor Arne Vestbø 590ac717a2 xcb: Remove need for QXCBScreen to resolve QXcbGlIntegration
Change-Id: I9de4f47bfdf88c92959f210e05c1fc1e8a459cde
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-21 20:24:56 +02:00
Gatis Paeglis 1e39b39ddb xcb: remove multi-connection code path
This code was introduced in 2011 as an experimental feature
and have been untested/unmaintained ever since. It's time to
remove it for the following reasons:

- It has never been documented in QGuiApplication under
  "Supported Command Line Options". The intended command
  line was: ./app -platform xcb:address:display

- I am not aware of other toolkits that would provide this
  functionality - connecting to several X displays simultaneously.

- XCB plugin respects the "-display" command line and DISPLAY
  envvar which should be sufficient. So the "workaround" to get
  your window on 2 X displays is:

    ./app -display :0
    ./app -display :1

- There are no JIRA bugs where users would complain that this
  feature does not work. AFAICT it has not worked for years.
  Almost all functions care only about the "default" connection,
  and don't attempt to support multi-connection.

- This will stop confusing people who want to contribute to
  the XCB plugin.

[ChangeLog][Platform Specific Changes][X11] Connecting to multiple
X servers simultaneously within the same application is no longer
supported.

Task-number: QTBUG-52408
Change-Id: I61ce23480702bb89b02c6028fa0986fe63481978
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-21 17:51:28 +02:00
Christian Ehrlicher 26a2266304 Remove deprecated QStyleOption::init()
Even it was not marked as deprecated the replacement function initFrom()
is available since Qt4 times (and init() is deprecated since then)

Change-Id: I09a4ebbf66b01fbe7aec67691dc68d2e42d1cd78
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-21 12:51:24 +02:00
Vikke Matikainen b1433a6988 Android: Fix android accessibility not being set active
Android platform event of activating accessibility might be received,
before the platform plugin is initialized, thus disregarding the activation
step.

This change saves the activation event state and defers setting it in
platform integration.

Fixes: QTBUG-77320
Pick-to: 5.15 5.12
Change-Id: I06aab76159d1de0e72c0c535dbe80c2858f8e79b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-21 10:04:50 +00:00
Lars Knoll 03326a2fec Move implementation of QVector/List back to qlist.h
And name the main class QList. That's also the one we document.

This gives less porting pain for our users, and a lot less churn
in our API, as we use QList in Qt 5 in 95% of our API.
In addition, it gives more consistent naming with QStringList and
QByteArrayList and disambiguates QList vs QVector(2|3|4)D.

Fixes: QTBUG-84468
Change-Id: I3cba9d1d3179969d8bf9320b31be2230d021d1a9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-20 20:01:33 +02:00
Michael Brüning 1a9a4af388 Only add file url if it references a local file
Remote URLs were converted to local file urls and converted to relative
paths, which led to bugs when copying URLs from e.g. the web
sites and pasting them into the command line.

Original patch by Allan Sandfeld Jensen.

Task-number: QTBUG-80243
Change-Id: I2cd41635b34b2ead424441719795705ef19d37f2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-20 16:10:27 +02:00
Christian Ehrlicher 4298385ec3 Remove deprecated roles BackgroundColorRole and TextColorRole
Change-Id: I2729102d1efa9f3809ec22c29517961800e7dc6d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 15:28:59 +02:00
Christian Ehrlicher 0ce37ab556 QtSql: remove unused includes
Change-Id: I6d47daa8fe17bf4be3b100f1a04d63dee4851daa
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 15:24:03 +02:00
Christian Ehrlicher 67fdb0fe6a QRect(F): remove deprecated functions
They were deprecated since Qt5.0 so it's time to go away.

Change-Id: Ib0192f9048ff15c9d47fb1a23046ccfe0ee7d807
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 07:58:35 +00:00
Christian Ehrlicher 7ff26c7762 Remove deprecated QStyleOptionFooVx typedefs
They were not used the whole Qt5 lifetime.

Change-Id: I1452b90d63bbeed3cc9131b04ed5263b38ad89b3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 09:58:24 +02:00
Christian Ehrlicher ef4bed7196 QSortFilterProxyModel: remove deprecated functions
Change-Id: I1775fafc6cca88c0c65032a1fd126dc3b42975c9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-20 09:58:06 +02:00
Christian Ehrlicher 6770e0b360 QTreeWidget: remove deprecated function items()
It does not return anything and was already deprecated in Qt4.8 (and
already returned an empty QList back then)

Change-Id: I3a2f1b79081d3289d13ba9fdee346aa730d16114
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 09:57:58 +02:00
Karsten Heimrich 18ec53156e Move QTextCodec support out of QtCore
* Assume UTF-8 on all Unix like systems
* Export some functions to be able to compile QTextCodec once
  moved to Qt5Compat.

Task-number: QTBUG-75665
Change-Id: I52ec47a848bc0ba72e9c7689668b1bcc5d736c29
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 02:04:38 +02:00
Lorn Potter 4455de24d4 wasm: fix crash when getting error like 404
Pick-to: 5.15
Change-Id: Ia9b81aaa8b1e9ea6ab20b8c6ff6f197e95d46d7d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-06-20 07:15:30 +10:00
Giuseppe D'Angelo 3e1d03b1ea Port Q_STATIC_ASSERT(_X) to static_assert
There is no reason for keep using our macro now that we have C++17.
The macro itself is left in for the moment being, as well as its
detection logic, because it's needed for C code (not everything
supports C11 yet).  A few more cleanups will arrive in the next few
patches.

Note that this is a mere search/replace; some places were using
double braces to work around the presence of commas in a macro, no
attempt has been done to fix those.

tst_qglobal had just some minor changes to keep testing the macro.

Change-Id: I1c1c397d9f3e63db3338842bf350c9069ea57639
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-19 19:38:23 +02:00
Sona Kurazyan 5b686e208f Don't truncate parameters passed to QStringView::{first/last/from/slice}
QStringView doesn't need to convert qsizetype parameters to int.

Change-Id: Iba8b5259ab3ed7a24a57bb6748446fd3e45bb182
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-19 19:37:51 +02:00
Alex Trotsenko 7aa327648c QProcess/Win: Avoid reentering the code in _q_processDied()
In case drainOutputPipes() makes a recursion, setting 'dying' to true
should protect the code from reentering. But, the next call to
QProcessPrivate::cleanup() resets this variable, which allows a
secondary pass. So, we should postpone setting 'dying' to false until
a new process session is started.

Fixes: QTBUG-33731
Change-Id: I269ad3b8defa32aa714ea13f8803a07259f475dc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-19 19:48:50 +03:00
Alexandru Croitor 10f8ebe3e2 CMake: Provide the minimum darwin deployment target needed by Qt
This is useful information for people that want to use Qt in their
project with CMake.

Unfortunately there is no good way to actually set
CMAKE_OSX_DEPLOYMENT_TARGET automatically with the Qt provided value,
because it needs to be set before the first project() call in a
CMake project.

This means it can be set either on the command line, or manually by the
application developer in CMakeLists.txt before the first project()
call or via a CMake toolchain.

In Qt 6 we provide a CMake toolchain file with the deployment target
already set, so if the application developer uses the Qt generated
toolchain, they will get the value automatically.

In Qt 5 the value can only be read for informational purposes only,
from the QT_DARWIN_MIN_DEPLOYMENT_TARGET property on the
Qt5::Core target. The same property is set in Qt 6 for compatibility
resons.

Task-number: QTBUG-76167
Task-number: QTCREATORBUG-22466
Pick-to: 5.15
Change-Id: Id61d70dc9a1b7a0e7cdb90b1e679171ea178126b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-19 18:41:23 +02:00
Andreas Schwab 47a4e6a949 Fix note alignment
It is architecture defined whether .align means .palign or .balign.  Use
.balign to make that explicit.

Change-Id: I8c7e3760b37edfb207b7088319a338a1f583255b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-19 14:28:47 +02:00
Kai Koehne 09f674fd16 Fix CMake documentation snippet for QtNetwork
The addition of CMakeLists.txt in other directories made the reference
ambiguous. Also fix the Qt version.

Change-Id: I679d86a302ae6c41b84ded66e3f21c5320e4b325
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-06-19 14:28:47 +02:00
Shawn Rutledge f25bd998a7 Don't return a touchscreen from QPointingDevice::primaryPointingDevice()
This was causing some bogus failures in Qt Quick autotests.
Existing APIs like QQuickWindow::mouseGrabberItem() are not really
compatible with the idea of a mouse-less system; but perhaps we can
revisit this later.

Task-number: QTBUG-85114
Change-Id: Id1c2e5894e5cf13a79998aaea28d5f42fad920cf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-19 08:13:36 +02:00
Lorn Potter 3d452492c6 wasm: fix network reply timeout and error handling
Fixes: QTBUG-83728
Change-Id: Ib8184a497a028949eea20e9d189d79da51ccc290
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
(cherry picked from commit b2e998d4678b82f823d24f3c97d78dec034f4e71)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-19 06:43:26 +10:00
Shawn Rutledge 4c9bab54f0 xcb: fix seatId to be master-keyboard-id << 16 | master-pointer-id
Amends 6589f2ed0c to match the comment.
If the master device we found is a keyboard, then its own ID is the
keyboard ID, and the attachment is a pointer; but if the master device
we found is a pointer, then its attachment is the master keyboard.
In practice, this gives all devices the same seatId on normal
single-user sessions.

Change-Id: Ibe7d7cdee7b3fe642efacd0349c109271059cb36
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-18 19:22:27 +02:00
Shawn Rutledge 28ef8d283d Add QPointingDevice argument to every QWSI input event handler function
We want every QInputEvent to carry a valid device pointer. It may be
some time until all QPA plugins are sending it, but it's necessary to
provide the functions for them to start doing that.

We now try to maintain the same order of arguments to all the functions.
handleTouchEvent(window, timestamp, device, the rest) was already there
(except "device" has changed type now), and is used in a lot of platform
plugins; so it seems easiest to let that set the precedent, and modify
the rest to match. We do that by adding new functions; we can deprecate
the older functions after it becomes clear that the new ones work well.

However the handleGestureEvent functions have only ever been used in
the cocoa plugin, so it's easy to change their argument order right now.

Modify tst_qwindow::tabletEvents() to test new tablet event API.

Task-number: QTBUG-46412
Change-Id: I1828b61183cf51f3a08774936156c6a91cfc9a12
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-18 18:53:40 +02:00
Andrei Golubev 68de38ded1 Document QPromise API
Documented QPromise. Added snippets under auto tests
to ensure they are compiled and run in CI.

Task-number: QTBUG-81586
Change-Id: I20084e38f9d2f6fc8540f95ee03ec3d2827177e8
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-18 18:28:41 +03:00
Simon Hausmann b0f445a152 Add support for QNotifiedProperty to the moc
Change the meaning of Q_PRIVATE_QPROPERTY to imply that the property is
implemented using a QNotifiedProperty. That requires passing the owner
object instance to the value and binding setters.

Similarly, detect QNotifiedProperty members like QProperty.

Change-Id: If49bbb04c8ccd4a661973888c50d2d556c25034f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-06-18 17:26:11 +02:00
Tasuku Suzuki 31d2804e7a Fix build without features.highdpiscaling
Change-Id: I9fee7303d53be228546accbcdf29a63b52e3f625
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-06-18 23:56:04 +09:00
Dominik Holland e11939afee Fix the vertical alignment of images in a text document
Try to align with the HTML standard as much as possible.
AlignBottom is now really the bottom of the line (not the text).
AlignMiddle is between AlignTop and AlignBottom.

Change-Id: Ia067b96209c2ab0becbff99cf15bb8ab193ee2c6
Fixes: QTBUG-84981
Pick-to: 5.15
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-18 14:59:02 +02:00
Karsten Heimrich c1e5044d22 Fix QString{Encoder|Decoder} documentation
Change-Id: I8e29846db77581953d90c818060950744cb9f521
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-06-18 14:45:54 +02:00
Andy Shaw 3ce2fab0a6 Android: Pass a null Bundle when calling QtActivityDelegate.onCreate
The onCreate function expects a Bundle variable to be passed in so it
needs to get a null Bundle in this aspect to prevent it from crashing
due to the lack of parameters.

Change-Id: I8cc4b62d9e8db170b957f7574360033e91ca3493
Pick-to: 5.15 5.12
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-06-18 14:28:58 +02:00
Assam Boudjelthia 4041610cb2 Android: warn about too long build paths on Windows
If Gradle build fails on Windows, check for java files that exceed
the max length of 260 that Gradle can handle, then warn about the length
issue.

Pick-to: 5.15
Task-number: QTBUG-83875
Change-Id: Ia7462bc816b3efa4ba9fdd0f179fdc4c06e23248
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-06-18 12:17:34 +00:00
Giuseppe D'Angelo 1face78345 QOGLVAO::Binder: unexport a value class
Change-Id: Idd0261a30599d0eaeb6faffd0ff5615b5c45b670
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-18 13:03:26 +02:00
Kyu Man Lim f1beb28c46 Add a way to disable syntethesized bold and italic support
Using the environment variables QT_NO_SYNTHESIZED_BOLD
and QT_NO_SYNTHESIZED_ITALIC it is now possible to disable
the support for synthesized bold and italic, which is
used when the font doesn't support those variants.

Change-Id: Ic1a6984858e1260f252662689705553073859df4
Task-number: QTBUG-83124
Pick-to: 5.15
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-06-18 12:07:36 +02:00
Lars Knoll 7b5d5faae1 Remove unused functionality from QTypeInfo
Change-Id: I10fe4cde7a18047599e656cc3bb67b0dfe18a986
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-18 12:02:51 +02:00
Friedemann Kleint 7e83f09ead Move UNIX services into QtGui
Task-number: QTBUG-83255
Change-Id: I95cd25c6e18ffb46955acc76d6cab551d1c8f5ae
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-18 12:02:26 +02:00
Friedemann Kleint ab01885e48 QtGui: Fix duplication of logging category lcQpaFonts
Move it to qplatformfontdatabase.h.
Amends 6be9830d86.

Task-number: QTBUG-83255
Change-Id: I0a3807dc49128c8ddd1dfe7d725528c1a852950b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-18 12:02:21 +02:00
Fabian Kosmale add1807d44 QMetaMethod: implement returnType via returnMetaType
Change-Id: I6c77331c3bfe83b00e4bbdf960216df696aadabd
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-18 11:57:38 +02:00
Andy Shaw a60f266d41 Android: Only emit the signals once when doing multiple file selection
Change-Id: Ie57908f5e882ef4f85f4199ecb06c09ae5d8ae2a
Pick-to: 5.15
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-06-18 11:54:20 +02:00
Andy Shaw 59b03992ab Undef Q_DECL_ENUMERATOR_DEPRECATED when having no deprecation warnings
Since Q_DECL_ENUMERATOR_DEPRECATED can be explicitly set to something
other than QT_DEPRECATED, then it needs to be explicitly undefined
when QT_NO_DEPRECATED_WARNINGS is used to prevent it from showing a
warning.

Pick-to: 5.15
Change-Id: Ibe73ff5e7b5aa5eff93d0c4c0a38a33855a9a330
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-18 11:54:09 +02:00
Mårten Nordheim f63c810485 QNAM: Fix my silly leftover mistake
I removed the line locally, and then added it back for testing and
forgot to remove it again.

Amends a0bfa4e1f8.

Task-number: QTBUG-84907
Change-Id: I7d6d0237742f4c3fc3ca0a2532d776325f396aab
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-18 09:52:12 +00:00
Alexandru Croitor 976fa5134a CMake: Use intelcet flags for bootstrap and qmake
This should fix build failures on Ubuntu 20.04.

Amends fa98adbd04

Change-Id: Iff399faff0cf06f5b88d756b1f632b8798069578
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-18 11:51:41 +02:00
Lars Knoll 3898c022a6 Remove some dead code
Change-Id: I4e3906d5e6313014b207aa7bc63a0ff5e21b0261
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-17 22:05:27 +02:00
Lars Knoll a42dd2ffe0 Cleanup float-equal warnings
Consistently use the macro from qcompilerdetection.h instead of manually
disabling the warning for three different compilers.

Change-Id: Id59d30047c8a504e1082d7e47c02f4746fddf9d6
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-17 22:05:21 +02:00
Lars Knoll 4d90725e77 Disable float-equal warnings in QGenericMatrix
Those warnings can cause compile errors if someone instantiates the
equality operator.

Pick-to: 5.15
Change-Id: I95fab87a424b2d359a8f3e22134f9d3ff6219703
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-17 22:05:15 +02:00
Robert Loehning 2242887e5c Use dedicated function for chopping QByteArray
Change-Id: I03f5e782a3d5d63540db9a5fdd1d432e71b5eec5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-06-17 19:29:10 +02:00
Friedemann Kleint a1f3ab1cad QtGui: Update CMakeLists.txt after adding QInputDevice
Run pro2cmake.py again, amending
6589f2ed0c.

Change-Id: I27178f412bcf9d3731fbd06b4099ca4faec07a5c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-17 18:05:56 +02:00
Giuseppe D'Angelo a97cda8b8b QMath: make the math-related functions templates
This way we can take and return more datatypes than qreal,
just piggy-backing on the std:: functions (which take any
integral and any fp datatype).

This makes these functions pure ADL enablers (like qSwap).
A type (hi, QAngle!) that wants to have math related functions
simply needs those defined in its own namespace using the
"standard" names (sin, cos, etc.); and we'll find them
using the q-prefixed function.

qCeil and qFloor signatures however still return int
to avoid too much breakage.

The FP-related functions (qIsInf, etc.) have been left
alone. Those are "special"; a lot of care is in qnumeric
because some implementations define them as macros, which
blocks any possibility of user-defined overloads found via
ADL.

[ChangeLog][QtCore][QtMath] The math-related functions
(such as qSin, qCos, qPow and so on) can now take an
arbitrary parameter rather than just qreal. They will do
a ADL-enabled call to the respective free function, using
the functions in namespace std as a fallback. Moreover,
they will now return whatever datatype is returned by the
free function (e.g. long double if the call is placed on
a long double).

Change-Id: I111084eda52556663802e65a85e082187c2a6861
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-06-17 17:56:48 +02:00
Shawn Rutledge 4e145de8a6 Make QInputDevice::devices() return a QList
There was a decision to use QList consistently in public API, now that
it's supposed to perform as well as QVector. Amends
6589f2ed0c

Task-number: QTBUG-46412
Task-number: QTBUG-72167
Change-Id: I30004792667ee0581a433409ac2e20ffc645e952
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-17 09:12:03 +02:00
Shawn Rutledge 6589f2ed0c Introduce QInputDevice hierarchy; replace QTouchDevice
We have seen during the Qt 5 series that QMouseEvent::source() does
not provide enough information: if it is synthesized, it could have
come from any device for which mouse events are synthesized, not only
from a touchscreen. By providing in every QInputEvent as complete
information about the actual source device as possible, we will enable
very fine-tuned behavior in the object that handles each event.

Further, we would like to support multiple keyboards, pointing devices,
and named groups of devices that are known as "seats" in Wayland.

In Qt 5, QPA plugins registered each touchscreen as it was discovered.
Now we extend this pattern to all input devices.  This new requirement
can be implemented gradually; for now, if a QTWSI input event is
received wtihout a device pointer, a default "core" device will be
created on-the-fly, and a warning emitted.

In Qt 5, QTouchEvent::TouchPoint::id() was forced to be unique even when
multiple devices were in use simultaneously. Now that each event
identifies the device it came from, this hack is no longer needed.

A stub of the new QPointerEvent is added; it will be developed further
in subsequent patches.

[ChangeLog][QtGui][QInputEvent] Every QInputEvent now carries a pointer
to an instance of QInputDevice, or the subclass QPointingDevice in case
of mouse, touch and tablet events. Each platform plugin is expected to
create the device instances, register them, and provide valid pointers
with all input events. If this is not done, warnings are emitted and
default devices are created as necessary. When the device has accurate
information, it provides the opportunity to fine-tune behavior depending
on device type and capabilities: for example if a QMouseEvent is
synthesized from a touchscreen, the recipient can see which touchscreen
it came from. Each device also has a seatName to distinguish users on
multi-user windowing systems. Touchpoint IDs are no longer unique on
their own, but the combination of ID and device is.

Fixes: QTBUG-46412
Fixes: QTBUG-72167
Task-number: QTBUG-69433
Task-number: QTBUG-52430
Change-Id: I933fb2b86182efa722037b7a33e404c5daf5292a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-16 22:06:56 +02:00
Shawn Rutledge 0a2e3ce85c Always show a submenu on its parent menu's screen
QWidget::screen() was added in b455a863a1
and this is another good use for it (in 5.15 and newer).

Amends c068edcecf

Pick-to: 5.15
Fixes: QTCREATORBUG-24195
Task-number: QTBUG-76162
Change-Id: Ifaafe9b45fafaae220da54bbf3bc7a568e7953f9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-16 20:54:14 +02:00
Joerg Bornemann 4ab5432081 CMake: Write object libs of Qt resources to .prl files
Since commit e343affd63 we're creating object libraries for Qt
resources in static libraries. Those must be reflected in the
generated .prl files for static builds of Qt.

In qt_add_resource, we now calculate the install locations of the
object files of rcc-generated C++ files and save them in the target
property QT_RCC_OBJECTS. This property is then passed to
QtFinishPrlFile to write the object file paths to the .prl file.

Change-Id: Ic383892d723d02fc91f712bc2dbcbc90babad074
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-16 17:56:35 +02:00
Joerg Bornemann e817ac3d68 Document that Q_INIT_RESOURCE is not necessary for CMake-based projects
Since commit e343affd63 we're creating object libraries for Qt
resources in static libraries when building Qt or a Qt-based project
with CMake. The purpose of this is to remove the need for calling
Q_INIT_RESOURCE in static libraries.

Add a note to the documentation and a changelog entry.

[ChangeLog][CMake] Calling Q_INIT_RESOURCE in static libraries is not
strictly necessary anymore for CMake-based projects. There, for each
resource, an object library is created which is linked into consuming
projects. This ensures that the linker does not discard the resource's
object file, and its initializer is called automatically.

Change-Id: I70de439f964dc7257a2255683eda4d434fa451d0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-16 17:56:09 +02:00
Paul Olav Tvete 3110cbad6f Fix build with -no-opengl on Windows
Change-Id: Ib29012361a2b7f2f0b0da53a7736bb3f3384ae38
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-16 17:31:34 +02:00
Timur Pocheptsov 2d2c18effc QSslSocket: delete deprecated cipher settings API
Change-Id: I439ea567b9a4add3eb205335420810d88b580b20
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-16 17:13:50 +02:00
Sona Kurazyan 08699a8273 Use qsizetype instead of int in QByteArray's helper methods
This is needed as a preperation for introducing QByteArrayView, which
will use qsizetype instead of int for size. Since these methods will be
reused by QByteArrayView, they need to use qsizetype.

Change-Id: Ia2d94ec70742d4f9326de9548fd7534d56d3a5ac
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-16 17:10:44 +02:00
Lars Knoll 30ad4cf558 Warn about constructing QMetaTypes/QVariants with invalid type ids
Warn about using an invalid type id in all cases. So far, only some
constructors of QVariant would warn. Move the warning over to
the place where we map a typeid to a QMetaTypeInterface to catch all
cases.

Change-Id: I4cd48a2b5d6c597dbf2afbeae9b811cd0819b768
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-06-16 13:49:45 +02:00
Lars Knoll 87bc5f7a7c Make the default constructor of QMetaType constexpr
And inline the copy constructor forwarding to another one.

Change-Id: I3c4f76f7b14edd84f512ef0687416b20940e333a
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2020-06-16 13:49:39 +02:00
Andy Shaw 68387e485c Android: Add support for proxies
Pick-to: 5.15
Fixes: QTBUG-78812
Change-Id: Id1f35a5e4ca3d8841edae378df69b65ef599c1ca
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-16 11:06:42 +02:00
Jan Grulich d979f0a8c8 Make sure we correctly construct underlying base platform theme
When the base platform theme is not set to a null pointer, then we might
assume it has been already constructed and later on try to access an
invalid address which will cause a crash.

Pick-to: 5.15
Change-Id: I6187336bca527e1feeb0902bcfb16f2fbec86d24
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-16 07:52:41 +02:00
Friedemann Kleint b89d8c406b Windows font databases: Enable DirectWrite for cmake
- Remove the DirectWrite1,2 features. Windows 10
  should have them, only MinGW is missing directwrite3.
  The feature directwrite now implies DirectWrite2.
- Remove the custom defines.
- Port over the configure tests from configure.json
  and add missing ones for DirectWrite(2), DirectWrite3
  and Direct2D and Direct2D 1.1, fix the conditions
  and report them in the summary.

Task-number: QTBUG-83255
Fixes: QTBUG-83931
Change-Id: I1fc68997adc715bd5c6d7ec457f58c46e1f81c6a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-15 20:58:35 +02:00
Robert Loehning 9e51974d9b QFontDatabase: Guard against Null-dereference READ
Fixes: oss-fuzz-23112
Pick-to: 5.15
Change-Id: I06818d8642067cd510a513838e7851eb8b322aef
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-15 20:50:32 +02:00
Lars Knoll 29ad4f8c09 Port platform plugins to QStringView
Task-number: QTBUG-84319
Change-Id: If409ba1c99f30c7ab32c7cc826c7f303ccf18c1d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-15 15:36:13 +02:00
Laszlo Agocs ed231455cc Relax tst_qvulkan::vulkanVersionRequest to make it compatible with 1.1
The Vulkan spec changed the behavior for VkApplicationInfo::apiVersion
in 1.1, conveniently breaking compatibility with all existing 1.0 logic.

We can no longer assume that the 1.0 behavior, which was failing instance
creation with VK_ERROR_INCOMPATIBLE_DRIVER for an unsupported version,
is always in place. So do not rely on this in the test, and add a
reminder in QVulkanInstance docs as well.

Fixes: QTBUG-85040
Change-Id: I8f5c7a7830877b72d106c444aebfaea191083ee0
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2020-06-15 15:33:46 +02:00
Laszlo Agocs 6a8eb26bba rhi: Add a feature flag for readback format support
Indicate that doing a QRhiResourceUpdateBatch::readBackTexture() for
texture formats other than RGBA/BGRA is not necessarily supported at
run time.

Change-Id: Ie9ca9546a3af9bff142b875f1ecf26bf26bcc442
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-06-15 15:33:39 +02:00
Mårten Nordheim a0bfa4e1f8 QNAM: Remove network connectivity pre-check
The connectivity pre-check has been around for a long time, and it has
caused various issues in that time. Certain scenarios, like using
certain VPN configurations, might confuse the OS into thinking you don't
have and network connectivity at all and abort the connection.
Especially noticeable/frustrating when the connection was going to a
host inside the local network.

The negative impact of this change would at worst be that we might try
to connect and it will wait some amount of time before the OS tells us
the connection failed in situations where it would previously have been
aborted before it started. But the false-negatives are not really an OK
sacrifice in that case.

Fixes: QTBUG-84907
Change-Id: I37fc69051e39df3c1a1fecb56ef54521a4d3d0c3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-15 12:29:19 +02:00