Commit Graph

48732 Commits

Author SHA1 Message Date
Tor Arne Vestbø
ba661f6bf1 cmake: Don't limit qt_internal_add_cmake_library to tests
Change-Id: I2dbe8075de6704a7a6557b877dc279a4b4cddd54
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-28 00:22:22 +01:00
Tor Arne Vestbø
598e873c84 cmake: Don't add module header for interface libs without headers
Change-Id: Ifba869586a65f28d5ff47bb2c01ce638110f493f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-28 00:22:19 +01:00
Elvis Lee
4b899a29fa webOS: Support mapping evdev keyboard and touchscreen to specific window
First we refactor QTouchOutputMapping into a QOutputMapping base class and
a QDefaultOutputMapping subclass, because it will be used to map more kinds
of devices, not only touchscreens.

On WebOS, the plan is to have a custom subclass that overrides an
additional windowForDeviceNode() virtual function, so that events from
specific devices can be sent to specific windows.  But in the future,
Qt may have a more generic mechanism for mapping devices to screens,
and of course windows are displayed on screens; so this direct
device->window mapping is likely to be temporary.

In the QT_QPA_EGLFS_KMS_CONFIG JSON configuration, symlinked device
nodes are now supported.

Task-number: QTBUG-85268
Change-Id: Id1f0bb59f4a439abaec6bd35016c95de1cbdb26a
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-10-27 23:37:41 +01:00
Volker Hilsheimer
fd8e6a203e QPushButton: if mouse tracking is off, ignore state only updated when tracking
Amends 3310e13a17. The explicit hovering state
is only updated when handling MouseMove events, and those are only
delivered when mouseTracking is set. Without mouseTracking set, the state
was always false, and QPushButton didn't set the MouseOver style flag.

Ignore the new state if mouse tracking is not set.

Task-number: QTBUG-87706
Change-Id: I2718fb23c206fd8dfd427edc987ff193ba1be8a0
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-10-27 22:29:05 +01:00
Volker Hilsheimer
6949bfaa92 Skip flakey dialogs testcase on all platforms except windows
Testing the mouseMoveCount before XFAIL'ing before then testing the
mouseRelaseCount was anyway wrong.

Change-Id: I666f143ff15088562fc63f833f5785f870de6f26
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-10-27 21:29:05 +00:00
Alexandru Croitor
638ac41293 CMake: Fix painting examples to build as standalone projects
The examples use an intermediate object library to avoid duplicate
file compilation. The examples worked when built as part of Qt
because the shared directory was always added, and Qt::OpenGL is
available implicitly.

Change each project to add_subdirectory(../shared) if the object
library is not available, thus making the examples build as standalone
projects.

Call find_package inside the shared project, to ensure the Qt packages
are found.

Create an alias called 'painting_shared::painting_shared' and link
against that to ensure that any failure is caught at configure time
rather than build time.

Adapt the pathstroke example to use the object library.

Comment out the code for the OpenGL scopes, because it's handled
by the object library.

Make sure the OpenGL dependency is public.
Make sure to run moc and compile the OpenGL specific files as well.

Task-number: QTBUG-87444
Change-Id: Ib0ecb68948581c5267ca04f19d8043fa44ff3d54
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-27 19:26:45 +01:00
Alexandru Croitor
f65abc6344 CMake: Export QT_QPA_DEFAULT_PLATFORM in QtBuildInternalsExtra
The value is useful for QPA plugins built in repos other than qtbase,
to decide if it should be a default plugin or not.
Currently useful for qtwayland.

Also export a qmake value assignment when doing static builds, just
like src/gui/configure.pri does.

Change-Id: I1253f1a7e178b24b16e2615ba20d1e92b0b87b1a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-27 19:26:35 +01:00
Allan Sandfeld Jensen
c61f90fbe6 Remove left over friend declaration
Was not removed when it was inlined above it.

Change-Id: Ie81bd9273108920031b235bdf1f13439711e5fec
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-27 16:43:12 +01:00
Allan Sandfeld Jensen
72ccb4fa7b Make QVersionNumber and QArrayDataPointer comparisons hidden
Change-Id: I8de0407843103b49877621534c14046e3a7d1b2f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-27 16:43:12 +01:00
Fabian Kosmale
331a200b97 Revert "QObject: simplify part of connection logic"
This reverts commit 1918c689d7.
The template gets always instantiated in QObjectPrivate::connect, even
if the connection types is not Qt::(Blocking)QueuedConnection. For
non-queued connections we however support using incomplete types in
connect. The only way to fix this would be to make the connection type a
template parameter of QObjectPrivate::connect (or at lesat pass some
compile time constant indicating "blocking"-ness) along, so that we can
use if constexpr instead of if. As all involved classes are private, we
can postpone investigating this solution to 6.1

Change-Id: Ieffaf015f8e60ca6ac6f85eb9e2756e480060b4f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-10-27 16:43:12 +01:00
Jarek Kobus
c293ab71bd Fix tst_QDeadlineTimer::stdchrono() flaky test
This patch reverts the last attempt to fix it:
4a1de178c9.
In addition, instead of using imprecise QTest::qSleep()
we trigger a single shot PreciseTimer twice
and gather the measurements in lambdas.
We wait for lambdas to be executed - we give it
twice as much time as is in theory needed.
Afterwards we verify all the data collected in lambdas.

Fixes: QTBUG-82825
Change-Id: Ib691f5f23a92fb8b41a24f7b603981d9c9450ddc
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-10-27 17:43:12 +02:00
Karsten Heimrich
d5050dcec4 Fix copy and past error, add minor doc update
Change-Id: I50d58086bf20d96993ab7c5e4790f07bbfdb8089
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-10-27 12:49:40 +01:00
Karsten Heimrich
626a9b66f2 Doc: Add notes on how to use View classes in Qt6
Task-number: QTBUG-87168
Change-Id: I631937ebaf7cfa3ed54c6c8a3641693fda910b36
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2020-10-27 12:49:40 +01:00
Paul Wicking
5c352f47b9 Add doc target for qmake
qmake currently doesn't have a doc target in CMake. In qmake builds, the
doc target is in qtbase/ (not in qtbase/qmake). This patch mimics the
mechanic used in QDoc, and adds this as a special case (as the project
file doesn't contain the doc target).

Fixes: QTBUG-87868
Change-Id: Ib1ca249465c5df2f22ba73084c680781e595c30a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-27 12:49:39 +01:00
Ulf Hermann
d0bc2cefd2 CMake: Do not overrun the list end in qt_remove_args
Otherwise we get error messages from CMake.

Change-Id: I374b87e38550062b841b7eacf5fbb6bb5ccbdbde
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-27 12:49:39 +01:00
Paul Wicking
6d496a2421 Doc: Add macro to exclude examples from Creator
Done-with: Topi Reinö <topi.reinio@qt.io>
Change-Id: I069214e3139c8b9993b5b8f86e4b5cda1dcc2bfd
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-10-27 11:49:39 +00:00
Jarek Kobus
bdc34bfb8e Compile fix on Windows
Task-number: QTBUG-87719
Change-Id: I9dd12b4579b40ec9c91a5751e12d371ed6ff5ac4
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-10-27 12:49:39 +01:00
Volker Hilsheimer
dc77b86be5 Make QElapsedTimer comparison operators hidden friends
Reduce ADL noise.

Clean up documentation and parameter naming a bit, while at it.

Change-Id: Ie9eb2a63b8e87a9ffc019b8fff5bd1c6bafaaf43
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-27 12:49:39 +01:00
Assam Boudjelthia
f8a83fc5c0 CMake: allow using ANDORID_NDK_ROOT for user projects
Allow CMake for Android to use ANDROID_NDK_ROOT to deduce the path for
QT_CHAINLOAD_TOOLCHAIN_FILE instead of the user providing it manually.

Change-Id: Ida728011d5ca8d5a723d341ea77b173e8f105f8c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-27 13:49:39 +02:00
Alexandru Croitor
397b372517 CMake: Regenerate examples to set the WIN32_EXECUTABLE property
As well as the MACOSX_BUNDLE properties as necessary.

Task-number: QTBUG-87664
Task-number: QTBUG-86827
Change-Id: I7677449a26d51fa853bd67bab6b3b61afbd2b12f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-27 12:49:39 +01:00
Alexandru Croitor
65fe5b2ce2 CMake: pro2cmake: Handle CONFIG+=console app_bundle in examples
Now that qt_add_executable doesn't set the WIN32_EXECUTABLE and
MACOSX_BUNDLE properties anymore, pro2cmake needs to look at the qmake
example projects and generate appropriate set_target_properties calls.

The relevant CONFIG entries to look at are windows, console,
app_bundle and cmdline.

CONFIG += windows implies 'subsystem windows' on Windows, which maps
to WIN32_EXECUTABLE == TRUE.

CONFIG += console implies 'subsystem console' on Windows, which maps
to WIN32_EXECUTABLE == FALSE. Aka the opposite of CONFIG += windows.
Whichever is the last one set, cancels out the other one.

CONFIG += app_bundle implies a macOS bundle executable, which maps
to MACOSX_BUNDLE == TRUE.

CONFIG += cmdline is the same as CONFIG += console and CONFIG -=
app_bundle, aka WIN32_EXECUTABLE and MACOSX_BUNDLE set to false.

In qmake, if no CONFIG is specified in an example project,
the default is CONFIG += windows app_bundle, aka WIN32_EXECUTABLE
and MACOSX_BUNDLE set to true.

The script uses a heuristic to try and not write the properties for
every single subscope, except for values different from the default.
This is not strictly correct, but it covers most use cases, and keeps
the generated projects a bit cleaner.

Task-number: QTBUG-87664
Task-number: QTBUG-86827
Change-Id: If05606ec3205e0fe7c1803c07e114d9fd9c3e4f7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-27 12:49:39 +01:00
Ahmad Samir
1e904ab342 QLayout docs: explain better what the QWidget ctor arg does
Make it clear in the docs that an alternative to calling QWidget::setLayout()
is to pass the parent widget to the Q*BoxLayout constructor. This basically
just copies the relevant bits from the the docs of QWidget and Q*Layout.

Change-Id: Id196dcdf9a876d9141aa145f23a83c45f8cda5f8
Pick-to: 5.15 5.12
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-10-27 13:49:39 +02:00
Alexandru Croitor
07ab7c11b5 CMake: Make qt_add_executable more minimalistic
As per the public API review, we want qt_add_executable to be a
minimal shim around CMake's add_executable with as little Qt specific
behavior as it makes sense.

This means:
- not setting the WIN32 and MACOSX_BUNDLE
- not linking against Gui, only Core
- not generating a windows RC file

Users should handle those particularities themselves, ensuring that
qt_add_executable can be used by a bigger audience.

Fixes: QTBUG-87664
Task-number: QTBUG-86827
Change-Id: Ib424dd95266352eb035a344ca03b6b81e47bd9e8
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-27 12:49:39 +01:00
Alexandru Croitor
f7d3ff1fe6 CMake: Use versionfull functions within our public API
This ensures that the public functions still work even if
QT_NO_CREATE_VERSIONLESS_FUNCTIONS is true.

Task-number: QTBUG-86827
Change-Id: I5654eb17ffe47a1b8e9d397e0477f5b82a762ae1
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-27 12:49:39 +01:00
Oliver Wolff
04e0306520 toolchain.prf: Use vswhere to obtain VS installation path
Beginning with Visual Studio 2017, vswhere should be used to discover
Visual Studio installations. Installations of 2019 and up are not even
registered inside the registry anymore, so vswhere is the only way to
obtain information about these.

Pick-to: 5.15
Task-number: QTVSADDINBUG-819
Change-Id: Ibd8b2c4d38c7925857887f39e750e87a33f08bf9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-27 07:16:05 +01:00
Shawn Rutledge
da4ac99b12 Expunge WA_GroupLeader
It's been deprecated since Qt 4.1.

Task-number: QTBUG-85816
Change-Id: Iafc6340716556f54fc5472c60035bb57461b842f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-10-27 02:55:59 +01:00
David Faure
72e0d699ce QAbstractItemModelTester: don't rely on hasChildren()
Dynamic models which use fetchMore to asynchronously fill subdirs
(like KDirModel) return true in hasChildren() for dirs that are expected
to have children (so that the "+" shows in the treeview) but do not
actually have children readily available.
They will be inserted later on once the async listing job is done
(as a result of fetchMore triggering that job).

So QAbstractItemModelTester should use rowCount instead, to find out
if there are children present.

This detected a bug in QConcatenateTablesProxyModel: it returned
a non-zero rowCount for its items, while it's flat.

Change-Id: Idcdc86159f1fc79ed5297075dfcf30c09896287a
Pick-to: 5.15
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-27 02:55:10 +01:00
Volker Hilsheimer
feda3e7673 Make QRect(F) and QMargins comparison operators hidden friends
Hide them from ADL to reduce noise. QRect operators were already
implemented as hidden friends, but a left-over declaration un-hid them
again.

Use the opportunity to simplify QMargins::operator!= by just inverting
operator==. No need to spell things out, the compiler can do that for us.

Change-Id: I55722223a2267cbeba5726dc912b48d6e017e580
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-10-26 20:10:49 +01:00
Tor Arne Vestbø
525372c567 cmake: Ensure Mingw builds pick up and use the WinMain entry point
The cmake code path didn't export QT_NEEDS_QMAIN as a public define
to be inherited by consumers. As a result, the users's main() would
be defined as normal (instead of being named qMain). This in turn
would lead mingw to pick main() as the entrypoint during link time.

We want to go through our WinMain entrypoint (for now), even if
MingGW today has mechanisms for calling the user's main() directly,
as our WinMain uses GetCommandLineW() and as a result prevents
the arguments to main() from being wildcard expanded. and we
want to keep parity between qmake and CMake in how this behaves,
even if we end up changing it in the future.

We follow what qmake does, and expose QT_NEEDS_QMAIN to clients.
With the user's main being then named qMain, mingw will look for
our WinMain.

This in turn leads to the problem of static link ordering, where
adding -lmingw32 as a dependency of the static library target
results in it ending up _after_ the static library during link
time, and the static linker ends up discarding the entry point
library.

To solve this, we split the entry point module into two targets,
one for consumers, and one internal that is the actual static
library. By adding the -lmingw32 dependency to the former target,
we ensure it's added before the static library during linking.

Change-Id: I342c979f56669d5a5a5c237f476556c4e2baf432
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-26 20:10:48 +01:00
Tor Arne Vestbø
851e1cb4c4 cmake: Allow target to specify initial module internal config
Change-Id: I7312fa19aad84b020015b304b1cd2cd5acc83b81
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-26 20:10:48 +01:00
Allan Sandfeld Jensen
5cb150be46 Make remaining String binary comparisons hidden friends
Also forced the introduction of explicit comparisons with
char16_t* and std::nullptr_t.

Change-Id: I8e32c14a1d3aeec234ee070b9fefc6af06db0fda
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-26 20:10:48 +01:00
Alexandru Croitor
bcc7d34540 CMake: Provide a qt-internal-configure-tests script
This is meant to be called by our CI instructions to build standalone
tests of a Qt repository.

Currently it just calls qt-cmake with
-DQT_BUILD_STANDALONE_TESTS=ON, but it might contain more things in
the future.

The script also simplifies configuring standalone tests locally, due
to not having to remember the name of the magical variable.

Change our CI instructions to use the new script.

Change-Id: I6bc02b4e94adc9d0d05fecb0fe70a561043271f1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-26 15:23:25 +01:00
Edward Welbourne
c8d42961a0 Add constructor benchmarks for QLocale, to test likely sub-tag matching
Change-Id: Ib4c1d0ea031a581020c1f050fa4096d5196cc752
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-10-26 15:56:06 +02:00
Edward Welbourne
cb23d50f38 Update CLDR to v37, adding Nigerian Pidgin as a new language
Routine update by running scripts, ignoring clang-format's extensive
grumbles. Added notes to util/locale_database/'s README, on the need
for that, and enumdata.py, on when to add entries. As usual, several
new locales are also added, for existing languages, territories and
scripts.

[ChangeLog][QtCore][QLocale] Updated to new version of CLDR (the
Unicode Consortium's Common Locale Data Repository) v37.

Fixes: QTBUG-84669
Pick-to: 5.15
Change-Id: Ib76848bf4bd1219180faf46820077e8d8049a4e3
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-10-26 15:28:59 +02:00
Sona Kurazyan
4c793e6353 Store std::exception_ptr in QUnhandledException
For historical reasons Qt Concurrent reports QUnhandledException in
case if an exception that is not derived from QException is thrown
from a worker thread. Changing this behavior may not be a good idea,
since the existing user code may rely on it. Changed QUnhandledException
to wrap the std::exception_ptr to the actual exception, so that the
users can obtain the information about the thrown exception if needed.

[ChangeLog][QtCore][QUnhandledException] Improved QUnhandledException to
store the std::exception_ptr to the actual exception thrown from a
QtCocnurrent worker thread.

Change-Id: I30e7c1d3e01aff6e1ed9938c421da0a888f12066
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-10-26 14:27:02 +01:00
Giuseppe D'Angelo
1aa3459d0a QList: also default count()'s template parameter
Also fix the docs.

Change-Id: If08116cb8657d00d610de9451be0ba73ce19dcd1
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-26 14:18:12 +01:00
Timur Pocheptsov
e2e9ce8109 Make Ubuntu with its non-standard security level happy
Ubuntu changed the default level from 1 to 2 and not accepting our
RSA 1024 anymore. While we are not testing the TLS library's strength,
we re-generate a ceritficiate to shut the thing (the botched, 'fixed' OpenSSL)
up for good.

Task-number: QTBUG-86187
Change-Id: I6151ce5210972ae938e52731157742910363afbe
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-10-26 14:07:54 +01:00
Allan Sandfeld Jensen
a6b7d6937b Make QString/QLatin1String comparisons hidden friends
Leaving most member comparisons untouched though.

Change-Id: I8267f85927ec8315d511ac38757bc8d8aaaa5672
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-26 14:07:54 +01:00
Jarek Kobus
c91327645b QtConcurrent: Reuse ArgResolver from qfuture_impl.h
Task-number: QTBUG-83331
Change-Id: I572f68f6d3be4a50970d8d77d070f175be3ec785
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-10-26 13:59:47 +01:00
Volker Hilsheimer
0807ede08c Replace see-alsos in qfloat16 documentation with \overload
Explicitly specify the float-overload, otherwise it's just ends
up referring to itself, and won't generate a link.

Also document qFpClassify(qfloat16) overload. The internal
implementation was documented, but the public overload not.

Change-Id: Ifdc364597a0e7b4d943f0ec6d149977a15c805ef
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-10-26 13:53:09 +01:00
Alexandru Croitor
1b4ea4a1d8 CMake: Fix target dependency cycle regarding qpa plugins in qtwayland
With the introduction of the new 'default_qpa_plugins' custom target,
a target dependency cycle occurred in qtwayland:
qtwaylandscanner -> default_qpa_plugins -> a wayland qpa plugin ->
WaylandClient -> qtwaylandscanner

The issue is twofold:
- default_qpa_plugins accidentally depended on non-qpa plugins.
- All qpa plugins were enabled by default, including the wayland ones.

Fix the default_qpa_plugins target not to depend on regular non-qpa
plugins.

Also fix qpa plugins not to be enabled by default, but instead only
choose one qpa plugin to be the default (via evaluating the
DEFAULT_IF) condition.

Amends df9c7456d1

Change-Id: I22cd2c72f6b75be54263fd21097258bd179e3616
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-26 13:46:49 +01:00
Alexandru Croitor
054c1aaf79 CMake: Don't use mkspec set by sourcing b2qt environment script
qmake sees the QMAKESPEC variable and uses it when building tests,
instead of using the target mkspec written in the target_qt.conf file
by the build system. Unset the environment variable to force usage
of the mkspec specified when confugring Qt.

Task-number: QTBUG-86053
Change-Id: I24ceddd1436393b496665e439dd1441ecbd36df7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-10-26 13:46:49 +01:00
Alexandru Croitor
20292250d4 CMake: Fix handling of rpaths for tests with CMAKE_STAGING_PREFIX
Task-number: QTBUG-86053
Change-Id: I2f368d9dc2d871b67bd6261aadd8ef4c1dd1ae54
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-26 13:46:49 +01:00
Alexandru Croitor
5fa823491b CMake: Fix automatic sysrootification detection for qmake
The way we detected whether SysrootifyPrefix needs to be set was
incorrect.

We checked if extprefix == prefix => SysrootifyPrefix should be
true. But that was previously always the case for a non-prefix build,
which means it was not possible to build apps (due to qmake expecting
to find include dirs in the sysroot, despite the non-prefix Qt not
being installed anywhere into the sysroot).

Instead we should do what qmake does. Only set SysrootifyPrefix to
true if extprefix was not provided and a sysroot is available.

To make it work for iOS and Android, the sysroot detection code had to
be moved earlier than the SysrootifyPrefix detection.

Task-number: QTBUG-86053
Change-Id: Idcc1260a675fb2ef9ae27fc9dc42a68b30f763b8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-26 13:46:49 +01:00
Robert Loehning
2096400d6e Revert changes in strto(u)ll.c to avoid integer overflows
Found in oss-fuzz issue 26045.

Pick-to: 5.12 5.15
Change-Id: Id9eac1b4f67ad9bbe2d92dd69cd03338a6ced74e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-26 11:21:33 +02:00
David Skoland
dc44e4a35e Use metaType instead of type in qlocale_mac
QVariant's type() has been deprecated in favor of metaType()

Change-Id: Ibb060bde5e946849fc1c1a67a48ff63beb1d8ffe
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-10-26 09:50:11 +01:00
Friedemann Kleint
e3470a98e9 Windows QPA: Use a QSharedPointer for the touch device
For reasons of symmetry with the tablet devices.

As a drive by, give it more distinct IDs.

Task-number: QTBUG-46412
Change-Id: Ie667621246b26db6fdda84c5ff2455fe38633cb3
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-10-26 10:14:05 +02:00
Andy Shaw
d9edad8117 Show the year correctly after it has been edited
When converting the year as an integer via the locale then it can add
in group separators which would not be desired here. Therefore it should
be converted via the QDate approach to get the right output for the year.

Fixes: QTBUG-86307
Fixes: QTBUG-85966
Pick-to: 5.15
Change-Id: I092bd1e5f69e544843fd5f28c96b94c9066490c5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-10-26 09:43:37 +02:00
Mårten Nordheim
ec258b8291 QSsl: Further work around to pass network test
Our tls certificate/key are a bit on the old side and need to be
updated. But for now let's lower the openssl level. In this case openssl
complains about the server's key used for DHE being too short.

Task-number: QTBUG-86187
Change-Id: I142a7d52f7599f60b8f4f3ff3ac5ce61fed06b4c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-10-26 09:30:36 +02:00
Timur Pocheptsov
40fb97e97f QMacStyle - fix tab rendering
In BigSur NSPopupButton, it would appear, is slightly different. But different
enough so that a fragment of a disclose 'arrow' button became visible within
the clipping region, making it appear as some blue strange thing in between
inactive (non-selected) tabs.

Task-number: QTBUG-86513
Change-Id: Ib03af48069056b5ecbb8b4afebd851005583293a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-10-26 09:14:32 +02:00