Commit Graph

49088 Commits

Author SHA1 Message Date
Joerg Bornemann
88efeb9e25 CMake: Map configure -hostdatadir to INSTALL_MKSPECSDIR
In the qmake-based build, the hostdatadir is the directory where "Data
used by qmake" is located. In the CMake build the equivalent is
INSTALL_MKSPECSDIR. Create the mapping accordingly.

Fixes: QTBUG-88211
Change-Id: I9e3d1af24bc7f41333ef2269fced5ab3fcfa848d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 18:06:54 +01:00
Andrei Golubev
bd6784b579 Simplify Q*ArrayOps emplace() signature
Template type never would've worked, really. We relied everywhere
that 'iterator' is comparable to our iterators (in generic version
it should be even the same type - see std::rotate API) and the
iterator type is castable to T* in POD and Movable cases, so
simplify that, no need for extra template boilerplate

Change-Id: I263ae2ba90ca27abceca01fcc21d80a350bbd743
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-10 18:03:23 +01:00
Friedemann Kleint
ae7c3985f1 MinGW: Fix compile error in qlocale_win.cpp
Cast enumerations to ushort, fixing:
src/corelib/text/qlocale_win.cpp: In member function 'virtual QVariant QSystemLocale::query(QSystemLocale::QueryType, QVariant) const':
src/corelib/text/qlocale_win.cpp:765:34: error: enumeral and non-enumeral type in conditional expression [-Werror=extra]

As a drive-by, fix deprecation warning about QVariant::type().

Amends 098f43fdd2.

Change-Id: I2adc9833c6d6d9e9d2500f0b92b25cb5d38b583b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-11-10 17:08:19 +01:00
Alex Trotsenko
aefd414ce2 QWinEventNotifier: unlink from event dispatcher
Instead of multiplexing all notifications into a single Qt event for
the event dispatcher, we can send 'WinEventAct' event directly for each
notifier which activated. This trick improves the performance (esp.
on a large number of events) and allows us to remove notifiers handling
from the event dispatcher completely.

As an alternative to sending Qt events, use of Windows' APC queue in
conjunction with waking up the Qt event loop from within the Windows
thread pool has been considered. However, that would lead to signal
emission asynchronous to the Qt event loop's operation, which is not
acceptable.

Thanks to Oswald Buddenhagen for the proposed idea.

[ChangeLog][QtCore][QAbstractEventDispatcher] The
{un}registerEventNotifier() member functions have been removed.
QWinEventNotifier is no longer needed to be registered in the
event dispatcher.

Change-Id: I140892fb909eaae0eabf2e07ebabcab78c43841c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-11-10 17:56:51 +02:00
Maximilian Goldstein
0bfb39da85 resources_function.prf: Discard external path prefixes
qtdeclarative's QtQml module adds a dynamically generated qmldir file to
its RESOURCES which is located outside the source directory.
Previously this caused qmake to generate an invalid alias for the qmldir file.
Now the relative path is discarded properly.

Fixes: QTBUG-88204
Change-Id: Ia689d9d110db092cee595bf44fcbb6d57783fded
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 16:55:07 +01:00
Alexandru Croitor
ba0895cf69 configurejson2cmake: Follow up fix to a regression
UnboundLocalError: local variable
 'skip_special_case_preservation' referenced before assignment

Change-Id: Ic7419e0bdd04a4251182d1a2616cd57e89e62432
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 16:54:53 +01:00
Christophe Giboudeaux
30ba185583 CMake: Allow using DESTDIR when installing documentation
Previously, QtDocsHelpers.cmake was invoking CMake to copy
files or directories instead of using installation targets.

This resulted in DESTDIR being ignored.

Now we create installation targets and ask CMake to
install them.

Change-Id: Idbc79d47a37f9ca865d28543bdbbdde3ba448fa3
Fixes: QTBUG-87382
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 16:54:42 +01:00
Shawn Rutledge
9fa071d3fe Replace ushort -> quint16 in event classes
We used quint32 for 32-bit types and ushort for 16-bit ones,
but using explicit bit sizes looks more consistent.

Change-Id: I3106dd6ecb2367fef6f8012c28266e1b4b1abf4b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-11-10 16:53:31 +01:00
Shawn Rutledge
2f71d9d837 Silence "same window" warning when QPA doesn't give touch dest window
Platform plugins should dispatch events to specific windows when
possible; but eglfs currently doesn't do that, so this warning was
printing for many touch events.  Now we print it only if the window that
the platform plugin says *should* handle a touch move or release is
non-null and *different* than the one that actually handled the press.

Fixes: QTBUG-88192
Change-Id: Ia3271b5e67902dcf8a1cdae605adec470c3cfd89
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2020-11-10 16:53:31 +01:00
Shawn Rutledge
4ccfe7b734 Reset the velocity Kalman filter when the mouse enters a window
If we always tracked the mouse, we could always have accurate velocity;
but most of the time, when the mouse enters a top-level window, we don't
know how fast it was moving at that time, unless the application has
requested a window-system mouse grab.  It's better to assume that any
residual velocity stored in the persistent QEventPoint instance (in
QPointingDevicePrivate::activePoints) is inaccurate, and just start over
from zero.  Especially for the sake of autotest sanity.

Task-number: QTBUG-88346
Change-Id: Id6c4fbffb8a86a8ab50a09f09aa62125d10155b4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-11-10 16:53:31 +01:00
Assam Boudjelthia
73e64a98c6 Android: fix android java and templates targets with -developer-build
On Windows with -developer-build java and templates files are not copied
properly, this makes sure to copy the files and dir for both targets.

Also, avoid creating a a deployment-settings.json file by adding
"TEMPLATE = aux".

Fixes: QTBUG-87627
Pick-to: 5.15
Change-Id: Iae269c3180a7b6d904fdba2e69fb3f815bbb1211
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 17:53:31 +02:00
Tor Arne Vestbø
4b063c8467 Move iOS entrypoint logic to entrypoint library
Change-Id: Ie0fc8368953a59d06a31847ed417bc3c35f29b90
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 16:53:31 +01:00
Tor Arne Vestbø
6e9a0f6688 Remove custom logic for writing entrypoint implementation pri
Trying to keep the logic self-contained resulted in a race
condition during 'make install', even if the two sub projects
were CONFIG+=ordered.

The approach is now similar to what we have on the CMake side,
where the ldflags and defines end up in the 'interface' module.

Change-Id: Id08a3ca12da8e7fc36ad76124b52ca4c79aebe3b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 15:53:31 +00:00
Joerg Bornemann
30a9b045cc CMake: Implement configure -list-features
Extend qt_configure_get_padded_string to make the feature list look like
qmake's.

Fixes: QTBUG-88144
Change-Id: I714f2b2f3537b506365a03b5b6bc3413e9cab167
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 16:53:31 +01:00
Alexandru Croitor
a3b9e3459f CMake: Warn when building Qt with a generator other than Ninja
For now, we only support building Qt with the Ninja generator (and
Ninja Multi-Config).

Issue a warning when a different generator is used.
Allow opting out of the warning by passing
-DQT_SILENCE_CMAKE_GENERATOR_WARNING=ON.

Change-Id: I5faa5b0ca5fd42efc090ad2ccf4f896bd77e50ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 16:53:31 +01:00
Alexandru Croitor
fbf11e86ef CMake: Fix cmake tests for no-widgets and no-gui configurations
Task-number: QTBUG-86053
Change-Id: I108977546304f203f6e2b7e983bb909b76626a9f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 16:53:31 +01:00
Assam Boudjelthia
0d6a14bbd9 Android: recommend against using ANDROID_ABIS inside the project file
Pick-to: 5.15
Task-number: QTCREATORBUG-24674
Change-Id: Iad6baa1af61d3d1a44f26cb9d51e3cb97d235707
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 13:23:09 +00:00
Alexandru Croitor
625bb2f76a CMake: Fixup outdated configure.cmake files
Some outdated changes don't get removed when using special case
preservation, so remove them manually.

Change-Id: Iba1481ab9a924c3031bd5ce394d5183a5393f146
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 14:23:09 +01:00
Alexandru Croitor
67693b6cf8 configurejson2cmake: Allow skipping of special case handling
Useful when cleaning up configure.cmake files that might have outdated
content.

Change-Id: I3872e81b7e896de83c1f6635499316bdbe3acb16
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 14:23:09 +01:00
Alexandru Croitor
3792b55022 CMake: Fix qtbase cmake tests to pass when configured in-tree
As opposed to standalone tests.

The problem is that 4 of the cmake failbuild tests use try_compile as
an indirection layer to configure /another/ project which is actually
the test.
That project needs to know the location of Qt. To do that, a
FindPackageHints.cmake file is included and the variable it sets is
passed to find_package() HINTS option. That's enough to find a
specific module, but not any dependent Tools packages.

Work around that by adding the Qt location to CMAKE_PREFIX_PATH in the
included FindPackageHints.cmake file.

The problem does not happen in standalone tests, because the
Qt location ends up being propagated via the qt toolchain file, which
does get inherited by the compile tests (albeit in a weird way, where
a reconfiguration still shows CMAKE_PREFIX_PATH to be empty).

Change-Id: I1f7ce940fd31678b46c0356edf6581e523cb885a
Fixes: QTBUG-86963
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-10 14:23:09 +01:00
Joerg Bornemann
ba6175eb73 CMake: Fix missing resources in Windows debug DLLs/EXEs
When configuring a Windows build with NMC and
"CMAKE_CONFIGURATION_TYPES=Release;Debug", then with CMake 3.18.4 only
the targets of the main configuration would get the version resource
compiled in.

With 3.19.0 RC 2 the problem cannot be observed.

Work-around the issue by revisiting our work-around of another CMake
issue: use just one object library per target to embed win32 resources.
This works with both tested CMake versions and seems cleaner anyways.

Fixes: QTBUG-88267
Change-Id: I20f596ab669ae716c330d7aa60aa717b9e3e4aa7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 14:23:08 +01:00
Joerg Bornemann
e990b649fa CMake: Make Release the main config of a -debug-and-release build
In configure we need to set the Release configuration first to make it
the main configuration.

Change-Id: I5fe744b0dcea009c4d672bf519b38c80c87475dd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 14:23:08 +01:00
Fabian Kosmale
16d412da4c QSignalSpy: Use QMetaType instead of metatype id in initArgs
The RegisterMethodArgumentMetaType had been changed to take a QMetaType
instead of a type id in 0161f00e50.
Unfortunately, the usage of it in QSignalSpy was missed. This patch
adjusts the metacall to correctly use a QMetaType.
Moreover, use parameterMetaType instead of parameterType to benefit from
metatypes which are already resolved at compile time.

Task-number: QTBUG-88260
Fixes: QTBUG-88356
Change-Id: Id8fa46581a005d62818971ea24d8aa2e39dcd6d0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-10 11:23:55 +01:00
Shawn Rutledge
f95691b8af Move the remaining QSinglePointEvent ctor to protected; add source arg
QSinglePointEvent no longer has public constructors: we don't expect
users to construct instances, because it's conceptually an abstract
base class (even though some subclasses don't add more storage).
We give it a Qt::MouseEventSource argument so that m_source won't
need to be set in other subclasses. There was some hope of removing
MouseEventSource completely, but it hasn't been done, for the sake of
avoiding SC breaks.

Change-Id: Iea2946699726fb7ac98757b7b8f1b7cfdccc1449
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-11-10 10:23:55 +00:00
Shawn Rutledge
48219c8231 Remove code for non-enhanced mouse events
Followup to a37785ec76.
The mouse button that caused the event and the current state of all
mouse buttons must always be given separately in QPA mouse events.

Task-number: QTBUG-59277
Task-number: QTBUG-62329
Task-number: QTBUG-63467
Change-Id: I27209b3730baef325ce0f1c4d3778930e72d5465
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2020-11-10 08:21:08 +01:00
Andy Shaw
5f2b53f13c Cocoa: Allow CMD+H to hide the application when a tooltip is visible
Since native applications allow CMD+H to hide an application when the
tooltip is visible then we should do too. Other popup windows will
still block the call.

Pick-to: 5.15
Fixes: QTBUG-82626
Change-Id: Ieac86d6b3cb2152a3ba82d8bd850f13bfeedb7c8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-11-10 04:24:45 +01:00
Joerg Bornemann
5b136abd21 CMake: Fix installation errors in multi-config build
In multi-config builds (which equals the debug-and-release feature) we
exclude tools of the non-main configurations from the default build.
But we still create installation rules for them.  Mark those as optional
to avoid "cmake --install" yielding errors if those tools weren't built.

Fixes: QTBUG-85411
Change-Id: Ic2d3897d1a1c28a715d9a024ec8606fff00e0315
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-10 04:24:28 +01:00
Giuseppe D'Angelo
b8b75cdcfa Q_PRIMITIVE_TYPE: improve the documentation
A key piece of information missing from Q_PRIMITIVE_TYPE
documentation is that for them value initialization must equal
memset()ting with zeroes. A type like QPoint is primitive
because `QPoint p;` is initialized to (0, 0), but a type like
QSize is movable (and NOT primitive) because `QSize s;` is
actually initialized to (-1, -1). Amend the docs.

Change-Id: I121684810da46be5d0579c7d3de945149390a32a
Pick-to: 5.15 5.12
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-09 23:25:54 +01:00
Shawn Rutledge
650b436635 Improve QPointerEvent qDebug operators
Use the property=value format consistently for the QPointerEvent types.
Abbreviate property names for compactness, but show more info.
Omit device seatName(), pointerType(), capabilities(), maximumPoints()
and uniqueId() when they are uninteresting.  In the case of uniqueId()
it's uninteresting when it's not valid (-1) rather than when it's 0.
Add QMouseEvent::scenePosition().

Change-Id: Ia076c5958e8f7032929517401d332b07d2fd0e78
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-11-09 23:24:58 +01:00
Shawn Rutledge
d8a2ffcea2 Fix reordering warning in QEglFSIntegration
Amends 47bcc4dd4b : m_kbdMgr was moved
up to the protected section, so now it must be inited first.

Change-Id: Iad28900affa7ab67122c4a6d1ec9161e2e1c7697
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-11-09 19:28:02 +01:00
Alexey Edelev
a1ce164d74 CMake: Make zstd config-based lookup quiet
Make zstd config based lookup quiet and check for version variable
as required for ZSTD target.

Add IMPORTED_LOCATION by default for pkg-config based search.
Expect that select_library_configurations will set correct value
for ZSTD_LIBRARY.

Fixes: QTBUG-88091
Change-Id: Ia5079154ce4fc4eefbc0931317219b5ca0f3f82f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-09 17:47:57 +00:00
Alexey Edelev
76230d9879 CMake: Add handling of PLUGIN_EXTENDS for generic plugins
Modify pro2cmake converter to add extra argument to
qt_internal_add_plugin. DEFINE_IF FALSE is added to generic plugins
those had "PLUGIN_EXTENDS = - " specified in .pro files.

Fixes: QTBUG-87861
Change-Id: I9269df19a32a088f5261f50e7ffff6d29c3d605f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-09 18:47:51 +01:00
Michal Klocek
632da28e9c Add new way to mess up projects with QMAKE_INSTALL_REPLACE
Qmake supports currently:

 * QMAKE_PRL_INSTALL_REPLACE,
 * QMAKE_LIBTOOL_INSTALL_REPLACE
 * QMAKE_PKGCCONFIG_INSTALL_REPLACE

Introduce QMAKE_INSTALL_REPLACE, where more sed magic
can be put in action in more generic manner.

replace_foo.filename = foo.h
replace_foo.matches = /bad/looking/path/to/foo
replace_foo.replace = /awesome/looking/path/to/foo
QMAKE_INSTALL_REPLACE += replace_foo

Pick-to: 5.15
Task-number: QTBUG-87154
Change-Id: Ie43d0ab4f1d4575bbf6279eb36383f38047484d9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-09 19:13:48 +02:00
Tor Arne Vestbø
ff170962d4 Don't rely on the module.pri for the entrypoint linking to the library
Depending on the presence and behavior of HEADER_MODULE/header_module
in CMake and qmake land, the module.pri might end up with an empty
module line, which means adding the module via QT_PRIVATE += entrypoint
will not link to the static library.

To avoid this problem we write an explicit module entry (QT.foo.bar)
into the same module.pri file as the one generated by qt_module,
where the auto-generated one has header_module enabled, and hence
no link behavior, while the manually written entry has a module
component, and will ensure linkage to the static library.

Change-Id: Ib98484f74410fab45c4d109f3610028200fba0c5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-09 18:08:06 +01:00
Tor Arne Vestbø
c2e1a773e0 Don't add module pri library entry for header modules
The QT.foo.module entry is used for linkage, so we shouldn't
add it for header only modules.

Change-Id: Ibb6e7ab08083ccab11d7e060f35c54153e3751c0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-09 18:08:02 +01:00
Andrei Golubev
250b69ace4 Fix QArrayDataOps generic and relocatable emplace()
Emplace() implemented with std::rotate is just awful on my system
(Ubuntu 18.04 GCC 7.5.0). Custom code is much faster, so go for
it. Cannot really use insert() code, which is also fast, because
it doesn't forward-reference values but copies them always

Changes in performance (approximately) for emplacing 100k elements
into the middle:
Complex 7600ms -> 1700ms
Movable 7600ms -> 200ms

Task-number: QTBUG-86583
Change-Id: If883c9b8498a89e757f3806aea11f8fd3aa3c709
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:36:31 +01:00
Lars Knoll
9ede51d214 Avoid calling memmove() if it's a noop
This speeds up some of the operations.

Change-Id: I5195ba79df92ead8e8003aa82681703e8c3afe99
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:36:17 +01:00
Andrei Golubev
b3a5ad40a7 Move existing items in generic erase instead of copying them
Use std::move() in QGenericArrayOps::erase() when assigning over the
to-be-deleted range

Task-number: QTBUG-86583
Change-Id: Ib28c5c1f1593beba5fce6841dd6fcecfdfb166ad
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:36:13 +01:00
Lars Knoll
1d309843a1 Move existing items when inserting instead of copying them
Use move operations to move existing items instead of copying
them. This speeds up insertions for non relocatable types
significantly (e.g. for std::string).

Change-Id: I308f381ac2242e50505f02675c2d2afbf21069d1
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:36:09 +01:00
Lars Knoll
2768270573 Do not shrink on remove()
This is in line with Qt 5 behavior, how std::vector works and also
how QString and QByteArray behave. If you need the shrink allocated
storage, call squeeze() manually.

Change-Id: I16cadd4f2a89bb2ec5de02fe69186f5da321cd06
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:36:04 +01:00
Lars Knoll
f438286875 Implement fast paths for removeFirst() and removeLast()
This avoids lots of the code and checks in remove() making the
methods a lot faster.

Change-Id: If99c39f5b55672b341f9331b5903bf77e9e67477
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:35:59 +01:00
Lars Knoll
13fcd02ff9 Avoid crashes when calling squeeze()
Avoid crashes when calling squeeze() on a QList with non zero capacity
but zero size.

Change-Id: Id470b2d52266a345b94bc3dc5483f4668fbb57dc
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 17:35:54 +01:00
Edward Welbourne
837a29b0b9 Fix accidental shadowing in QLocale::uiLanguages()
While simplifying uses of QSystemLocale::query() I declared a
shadowing local variable instead of setting a function-scope variable
that the code had previously set. Restore prior correct behavior.

Fixup for commit b5bc3ee036.

Fixes: QTBUG-87858
Change-Id: I6bd64aef1eb7df9ec4a703c59aa7369245ab2472
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-09 17:28:35 +01:00
Robert Loehning
07aa91221f Reduce memory reallocations in QTextTablePrivate::update()
This fixes oss-fuzz issue 21100.

Task-number: QTBUG-85139
Pick-to: 5.15
Change-Id: I635c1fa9b16dd527e568ec1e98ea7cac73977020
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-09 16:07:53 +00:00
Robert Loehning
ad9ca01853 QAsn1Element: Read value in blocks to avoid oom at wrong length
Fixes oss-fuzz issue 22272.

Pick-to: 5.15
Change-Id: I8a49b9487f632469402c983e517e817e8e65bef7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-11-09 16:07:01 +00:00
Sona Kurazyan
7b1bbdb10c Reorder IterateKernel data members to avoid holes in the data
Change-Id: I7661eaa6b14b7a7b930390e6bb8c6894f4a91846
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-09 16:41:26 +01:00
Tor Arne Vestbø
8186f18c4a cmake: Allow module to specify initial depends
Change-Id: I85f39f16f2103dcb42ff467bbc79a0baf6c020e1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-09 16:01:51 +01:00
Mårten Nordheim
d281f5cc35 QMultiHash: add a QHash&& constructor and unite() overload
Reaches into the internals to avoid erasing one entry at a time from the
QHash.

Change-Id: I47079592d130d2ecd844998dfa31e633e049d4c1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-09 16:01:33 +01:00
Zhang Yu
f353519e78 Fix regular expression initialize with incorrect filters
The filters used to construct regular expression is the parameter of
QDirIteratorPrivate constructor,and not the member variable
'filters' of QDirIteratorPrivate.

When using filters as QDir::NoFilter to construct QDirIteratorPrivate,
then the regular expression will incorrectly initialize with
QDir::CaseSensitive(result of QDir::NoFilter),and not
Qt::CaseInsensitive(result of QDir::AllEntries).

Therefore, using the '_filters' to replace the parameter 'filters'

Fixes: QTBUG-88227
Pick-to: 5.15
Change-Id: I8a21fe1075fd95981e328a161a978e4fe546c9ca
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-11-09 15:01:33 +00:00
Joerg Bornemann
8b086b49b4 Fix pcre2 feature conditions
The pcre2 feature was turned off when the user passed -system-pcre to
configure. The reason were faulty expressions in the enable/disable
fields.

Fixes: QTBUG-88295
Pick-to: 5.15
Change-Id: I4edee49a9c797797ef3b80f955b48b5492fb4fc7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-09 16:01:33 +01:00