Commit Graph

57879 Commits

Author SHA1 Message Date
Bartlomiej Moskal
76abdaafb5 Android: Light/dark modes detection
After commit: 2248487c6c light/dark mode
detection is supported by Windows and macOS. This commit add similar
implementation on the Android side.

Task-number: QTBUG-83185
Pick-to: 6.4 6.3 6.2
Change-Id: Id1ece98e91a31759b58d651ef62b3715ea25d85f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-09-05 18:29:09 +02:00
Rolf Eike Beer
60829b0b25 CMake: allow user specified boolean values to have any case
When running something like this:

    cmake -D FEATURE_xkbcommon=On qtbase

one would run into issues like:

    CMake Error at cmake/QtFeature.cmake:254 (message):
      Sanity check failed: FEATURE_xkbcommon has invalid value "On"!
    Call Stack (most recent call first):
      cmake/QtFeature.cmake:396 (qt_feature_check_and_save_user_provided_value)
      cmake/QtFeature.cmake:606 (qt_evaluate_feature)
      cmake/QtFeature.cmake:575 (qt_feature_module_end)
      src/CMakeLists.txt:12 (qt_feature_evaluate_features)

Change-Id: I33a921625b97aeb3c423cb7c1fb1bd3b05ce24a7
Pick-to: 6.4 6.3 6.2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-05 06:49:34 +02:00
Volker Hilsheimer
3b91bab465 Fix compiler warning: don't copy in ranged-for loop
Change-Id: If21f4e34324f33300009a427fb81e23ab49d4ad0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-09-03 19:10:42 +02:00
Volker Hilsheimer
b05a2768c2 Fix warning from testing assignment
Tests that do

QTRY_VERIFY(a = b);

generate a compiler warning:

using the result of an assignment as a condition without parentheses
[-Wparentheses]: place parentheses around the assignment to silence
this warning

Do that centrally in the QTRY_TIMEOUT_DEBUG_IMPL macro definition.

Pick-to: 6.4
Change-Id: I4a4b0161c4e16c0e1e27a68f33a41efdaa2c962c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-09-03 19:10:42 +02:00
Christian Heimlich
54ea62756a Update zconf.h prefixes to match zlib v1.2.12 update
Historically Qt has used `Z_PREFIX` within zconf.h of its bundled zlib
copy to prefix all zlib symbols with `z_` in order to prevent clashes
with a potential system install of the library when linking statically;
however, v1.2.12 introduced 3 new functions that were erroneously not
accounted for in the upstream repository:

- crc32_combine_gen
- crc32_combine_gen64
- crc32_combine_op

`403020` updated our bundled zlib to this new version and therefore
Qt has inherited this oversight, now clashing with external zlib
builds.

Manually add prefix macro definitions for these three symbols to
restore built-in zlib to its previous clash free state while waiting
for the issue to be addressed upstream.

Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I83f88109a08cf7e7117f1c94b4557a2c36f519c3
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2022-09-03 11:04:20 -04:00
Timur Pocheptsov
a7657d3c5f tst_QSslSocket::oldErrorsOnSocketReuse - make it work with OpenSSL v3
The initial problem was in server not starting encryption, because
its certificate was rejected by OpenSSL (v3) saying 'weak md'.
After the certificate was replaced, we got another problem - due
to the fixed TLS v.1 protocol for both client and server - handshake
is interrupted early with 'tls v1 alert' and error message
saying about not found signature algorithms. Don't fix the protocol
version, use proper QSsl::SecureProtocols (default).

Pick-to: 6.4 6.3 6.2 5.15
Task-number: QTBUG-106018
Task-number: QTBUG-95123
Change-Id: I0f22f5304f4405933ad511195bc61c640518e7d8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-09-03 13:01:06 +02:00
Rafael Roquetto
5d58aee53a tracegen: add support for QSize
Change-Id: I7228f5ebbcbd577a66a7a368fb4d64c4c7e55a25
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2022-09-03 16:03:29 +10:00
Mårten Nordheim
28693abb64 tst_QSslSocket: regenerate certificate used for setLocalCertificateChain
The certificate was using SHA-1 for signing its certificate, which is
considered 'not good enough' by some TLS libraries.
Regenerate it with SHA-512 and a larger RSA key.

Also include the files needed to generate it.

Pick-to: 6.4 6.3 6.2 5.15
Task-number: QTBUG-106018
Task-number: QTBUG-95123
Change-Id: I535e047d540e663c8cec334695196044173949fc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2022-09-02 22:39:22 +02:00
Eirik Aavitsland
8cb78647e3 Windows: avoid losing transparency when pasting images into Qt apps
Before Qt6, we would only request a DIBV5 format image from the
clipboard if that format was available without synthesizing. Then, in
commit 8fa91c75ad that check was believed to be needless, and
removed. However, it turns out that it is needed to avoid loosing
transparency information, so we revert that part and bring back the
check against synthesized DIBV5.

The logic is that some widely used apps will provide images in both
PNG and DIB on the clipboard, and only the former can have an alpha
channel. When we request a synthesized DIBV5 rather than a PNG, it
seems we only get the (opaque) DIB image repackaged as a DIBV5.

On Windows 11, there even seems to be an issue (possibly a Windows
bug) where, after asking for a synthesized DIBV5, the clipboard
contents is somehow changed in a way so that pasting again into other
(non-Qt) apps later will yield a corrupted (pixel-shifted) image. (It
looks like they get a DIBV5 when they expect a DIB). So avoiding
requests for synthesized DIBV5 also avoids triggering that issue.

Also add some logging outout to help future debugging.

Fixes: QTBUG-104872
Fixes: QTBUG-105338
Pick-to: 6.4 6.2
Change-Id: I33ffa2b50870b887a083e9bbb1b2234604e4d8ab
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
2022-09-02 19:22:32 +00:00
Topi Reinio
cf3461bab3 Doc: 3rd party: Fix reference to FreeType LICENSE.txt
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Id5c92938948c636765590e1bee2dd9c2baeb826b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2022-09-02 21:22:32 +02:00
Mikolaj Boc
8e307a6cf9 Don't batch qmetaobject_compat
Batching the tests leads to one of the tests tst_qmetaobject and
tst_qmetaobject_compat not being registered in the batch. Attempts to
batch those together fail as batch test name is defined per-source,
which, in this rare case, is the same across the two targets.

Change-Id: I356931feabc004c39ba0b6863b5f64e06d739a58
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-02 19:22:32 +00:00
Mikolaj Boc
1e00ddc2cb Do not query for the nonexistent QT_FEATURE_exceptions feature
The feature does not exist. Do not query for it and assume it's always
off for the purpose of WASM build.

Change-Id: I7e76242c9b3423bfe16872f668c60dae2e74fabe
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-02 21:02:27 +02:00
Mikolaj Boc
aeb33b7d61 Add NO_EXCEPTIONS on WASM unconditionally
DISABLE_EXCEPTION_CATCHING is added unconditionally on WASM. Add
NO_EXCEPTIONS for all WASM tests since those are never supported.

Change-Id: I2ee10779e7ae0d285494ad650be52dee3099915a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-02 21:02:27 +02:00
Timur Pocheptsov
d2544b3bb2 tst_QSslSocket::protocolServerSide - make it work with OpenSSL v3
OpenSSL v3 by default sets SECLEVEL = 2 unless overridden in conf files.
SECLEVEL >= 1 means TLS <= 1.1 is disabled. Remove cases that were
previously expected to work. Arguably, we should not test deprecated
protocols at all, but the cases expecting a failure still work
and logically correct.

Task-number: QTBUG-95123
Task-number: QTBUG-106018
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ifa59fa902b433338dbed7abf086cfdef9470384c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-09-02 21:02:27 +02:00
Shawn Rutledge
ef9b51ce99 Use testlib for multiPointRawEventTranslationOnTouchScreen events
It was an old test written in a very low-level way, which perhaps is ok
to be independent of testlib in a few tests; OTOH, it was blacklisted
on a couple of platforms. Perhaps doing touch events the standard way
could be more stable.

While we're at it:
- verify that the touch events are accepted, and thus verify the new
  bool return value from commit()
- implement paintEvent() to help understand the layout, and touchpoint
  locations
- remove repeated QCOMPARE lines
- skip the test if window positioning fails
- try to un-blacklist it, on the assumption that window positioning
  failure was the reason

Task-number: QTBUG-87025
Task-number: QTBUG-104656
Pick-to: 6.4
Change-Id: Ie22eb24abf95cd849990a56212be87d06ce8e574
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Doris Verria <doris.verria@qt.io>
2022-09-02 19:07:21 +02:00
André de la Rocha
3e95884081 Windows QPA: send UIA focus notification after window activation
After a Qt application window was opened, and focus was moved to
another window, and then back to the Qt application window, NVDA
would only announce the window name, but not the widget focused
within the window. This patch makes Qt send a notification focus
for the focused widget after a window activation notification.

Fixes: QTBUG-105735
Pick-to: 6.4 6.3 6.2
Change-Id: I3426b3613ae546de0ce363f9acc5d6776c99a8aa
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2022-09-02 18:31:35 +02:00
Alexandru Croitor
3eb2918f2e CMake: Add reference documentation for QT_IOS_LAUNCH_SCREEN
Amends 578f4ba00c

Pick-to: 6.4
Task-number: QTBUG-104519
Change-Id: I02ea0694ead0e5b8c7a70a09cc14b51d8e374dd5
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-09-02 17:00:23 +02:00
Jens Trillmann
b8a9527544 Android A11Y: Check for active surface before calling into native code
This fixes a deadlock. The deadlock occurs on an application state
change. During this state change the QML plugin requests Android to
create a new surface for drawing and waits on the Android thread to
complete the request (QAndroidPlatformOpenGLWindow::eglSurface()).

In the meantime the android a11y delegate gets requests from the
android a11y interface. The delegate tries to access the a11y
information through the native interface, where it has to wait for the
main loop thread to get the a11y information from the QtQuick objects.

This leads to a deadlock in which the main loop thread waits on the
quick rendering thread, the rendering thread waits on the android thread
and the android thread waits on the main loop thread.

This workaround avoids this issue by not calling into native code until
a rendering surface has been created.

Task-number: QTBUG-105958
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ib99145aa689d1d62e25d25e1f4f8598d53eee3a9
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-09-02 17:00:23 +02:00
Ievgenii Meshcheriakov
216fe24ca1 QTlsBackendOpenSSL: Use a function-static variable in ensureLibraryLoaded()
Replace a combination of a mutex and a state variable by
a function-local variable initialized by lambda.

C++17 standard guarantees that the lambda is called only once and
that any other callers will waiting for initialization to complete.

The mutex that was replaced is also used in ensureCiphersAndCertsLoaded()
but that seems to be a false sharing.

Task-number: QTBUG-103559
Change-Id: Idb269a24b53cf3812ca9630ab4fc87f99ab16d55
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-09-02 17:00:23 +02:00
Ievgenii Meshcheriakov
1c217ba6f7 TLS backend OpenSSL: Use function-static variable for symbol loading
Replace a combination of a mutex, atomic variable, and another variable
by a function-local variable initialized by lambda.

C++17 standard guarantees that the lambda is called only once and
that any other callers will waiting for initialization to complete.

Task-number: QTBUG-103559
Change-Id: If9af8584e648ddb9ec518498ce035105e52413a2
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2022-09-02 17:00:23 +02:00
Michael Brüning
aed7b5f370 Reland macdeployqt: Don't copy .prl files into the Resources folder
QRegularExpression::isValid returns true on default constructed objects,
so the filter was always matching even though it was not meant to be
applied at all.

Fix this by checking that there is a non-empty pattern string set and
applying the filter only then.

Fixes: QTBUG-87764
Pick-to: 6.4
Change-Id: If37f8abaecacba3dc6f0b14da681a6e025367c10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-02 12:04:23 +02:00
Michael Brüning
60b069471d Correct typo in destination path variable names
A couple of variables contained "Destianation" instead of "Destination"

Change-Id: I98a15652347d1b0dad640bc49925ec296830147b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-02 12:04:18 +02:00
Mikolaj Boc
e38807996f Add wasm target helpers in a finalizer when adding executable
This way it is able to pick up all of the properties assigned to it
before finalization.

Change-Id: I9da635f8620859a669c4e4d589fff56a3ce42ab9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-02 11:35:51 +02:00
Thiago Macieira
84401ae68c QMetaObject/Doc: document the variadic invoke{,Method} and newInstance
Change-Id: Ic6547f8247454b47baa8fffd170dc646d4f73152
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2022-09-01 21:29:04 -03:00
Thiago Macieira
0380dd5051 QMetaObject: pass the QMetaTypes in variadic invoke/newInstance
[ChangeLog][QtCore][Meta Object] QMetaMethod::invoke(),
QMetaObject::invokeMethod(), and QMetaObject::newInstance() are no
longer limited to 10 arguments.

[ChangeLog][QtCore][Meta Object] The use of the Q_ARG macro is no longer
necessary when using QMetaMethod::invoke(), QMetaObject::invokeMethod(),
and QMetaObject::newInstance(). Types may now be passed
directly. Similarly, Q_RETURN_ARG can be replaced by the free function
qReturnArg().

[ChangeLog][Potentially Source-Incompatible Changes]
QMetaMethod::invoke(), QMetaObject::invokeMethod(), and
QMetaObject::newInstance() no longer support passing forward-declared
types in the argument list (it was possible to pass them by
const-ref). From Qt 6.5 onwards, all types in the argument list must be
fully defined.

[ChangeLog][Potentially Source-Incompatible Changes] Attempting to use
the internal types QArgument, QReturnArgument, QGenericArgument, or
QGenericReturnArgument directly with QMetaMethod::invoke(),
QMetaObject::invokeMethod() or QMetaObject::newInstance() may fail to
compile. Those are internal types that were never meant to be used
directly and will be removed in Qt 7. If really necessary, ensure all
arguments passed to those functions are directly using those classes and
not mixed with Q_ARG and Q_RETURN_ARG. Implementations of bindings to
other languages should contact the Qt development mailing list to
discuss options.

Change-Id: I36b24183fbd041179f2ffffd1701e3e8e47e0fba
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-09-01 21:29:04 -03:00
Ilya Fedin
ba8c4b4ac6 xcb: set _NET_STARTUP_ID at client leader window
This should help to overcome WM's focus prevention mechanism

Fixes: QTBUG-96276
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ic5fb46f7ce54f0df29850725bafa364b74e30d25
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2022-09-02 00:56:58 +04:00
Thiago Macieira
43aaffb018 QGtk3Dialog: remove the #include for empty moc
This amends 64e6233252.

Automoc complains:

AutoMoc warning
---------------
"SRC:/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp"
includes the moc file "qgtk3dialoghelpers.moc", but does not contain a Q_OBJECT, Q_GADGET, Q_GADGET_EXPORT, Q_NAMESPACE, Q_NAMESPACE_EXPORT or Q_ENUM_NS macro.

AutoMoc: /home/tjmaciei/src/qt/qt6/qtbase/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp:0:1: note: No relevant classes found. No output generated.

Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ic6547f8247454b47baa8fffd170ea8a8ce0ed06c
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Ilya Fedin <fedin-ilja2010@ya.ru>
2022-09-01 20:56:58 +00:00
Liang Qi
7bc63f345f xcb: fix D&D in same xembed client
This is kind of porting missing parts QX11Data::xdndHandleDrop()
in src/gui/kernel/qdnd_x11.cpp in Qt 4.

Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I3a9d657c63dbca43e33262f49484861e60f59b58
Reviewed-by: Liang Qi <liang.qi@qt.io>
2022-09-01 22:56:54 +02:00
Liang Qi
64cd43d394 xcb: use global coordinates for position of D&D for xembed client
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I4805b764b11b86e2b0975ca45f7182f2719fda74
Reviewed-by: Liang Qi <liang.qi@qt.io>
2022-09-01 22:56:54 +02:00
Alexey Edelev
0255cce4de Use the INSTALL_CMAKE_NAMESPACE to locate module tools target
Replace hardcoded Qt6 prefix of module tools target when setting
the name of tools package.

Change-Id: Icb6f38cce766c9d32216a65a8a5ce9552d622b72
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-01 21:37:11 +02:00
Eirik Aavitsland
54aa7e75b8 QVariant: fix conversions of Q_ENUM that are QFlags<> to string
The doc of QMetaEnum::valueToKey() says to use ::valueToKeys() instead
for flag types.

Pick-to: 6.4
Change-Id: I48e5ba47324137f2ce2710f1d876e93e7c562e9f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-09-01 20:48:49 +02:00
Tor Arne Vestbø
ac22743f21 Windows: Add helper function to check if the app has a package identity
Having a package identity is required to use many modern
Windows APIs.

https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/modernize-packaged-apps

Change-Id: Ib08dbdce97cb082fa1664df815457dbee82dd3b9
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-09-01 20:48:49 +02:00
Sona Kurazyan
473e5f111f Fix docs for types and macros from qlogging.h
Move the docs types and macros from qlogging.h from qglobal.cpp to
qlogging.cpp. Generate the QtLogging forward header and update the
'\relates' commands accordingly.

Change-Id: I2abaf531b2749ff43909f835efd980e1fc98f278
Task-numer: QTBUG-106154
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-09-01 20:45:15 +02:00
Mike Trahearn
e27ecb2035 Doc: Update QMetaType::metaObject() descriptions
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Iff93f8fe2cf701d56d072e2593c76d49a70fc183
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-09-02 04:45:15 +10:00
Timur Pocheptsov
8e21844683 tst_QSslKey - make OpenSSL v3 detection fully runtime
Otherwise, checks are useles in non-developer build.

Pick-to: 6.4 6.3 6.2
Fixes: QTBUG-106036
Change-Id: I41b6d8f250021ff9fa4981f9df9244c269ed2999
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-09-01 20:10:03 +02:00
Mikolaj Boc
67deefbaaa Build in test data on WASM
Local file system files are difficult to reach on WASM. Build the test
data in so that it's reachable to WASM tests nevertheless.

Change-Id: I65022db7645248d040434759fb60c3076fd65bd8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-09-01 19:44:20 +02:00
Edward Welbourne
6dd6bf3467 Fix two trivial defects in testlib docs
A fragment of inline code wasn't wrapped in \c{}.
Doing so made the quotes it was wrapped in redundant.

Documentation of of QSKIP's parameter claimed it does something it
should, but it's up to the client code using it to write a description
that lives up to that.

Pick-to: 6.4
Change-Id: Ib355b9b85c9986f244ae01479134245f182c912c
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-09-01 19:44:19 +02:00
Edward Welbourne
8814fb5f4f Provide CMake guidance for skipping whole tests
The testlib docs on how to skip whole tests was qmake-specific, so add
the missing details for CMake.

Pick-to: 6.4
Change-Id: I247d08262302dcedb98ffbf301932d6dd84d7ff7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2022-09-01 19:44:19 +02:00
Sona Kurazyan
711105058a Apply Q_CONSTINIT where beneficial
Applied Q_CONSTINIT to variables with static storage duration, but
skipped the POD types with core constant initializers.

Task-number: QTBUG-100486
Change-Id: Iaabf824e9cb0f29a405a149912200d4e4b3573c1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-09-01 19:44:19 +02:00
Edward Welbourne
44a1782a9b Clarify QLocale's documentation around names and uiLanguage()
Change-Id: I703c4dd8e6f0e70bed3a73567091548aabafb340
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-09-01 19:44:19 +02:00
Laszlo Agocs
c681c7c23f rhi: metal: Add support for tessellation
Change-Id: Ie8d226a6a959aa5e78284ea72505fd26aec1e671
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-09-01 19:44:19 +02:00
Øystein Heskestad
855a9ca217 Add CBOR documentation
Add documentation of usage of CBOR in convert and cbordump examples,
add a CBOR overview, and add links to them other places in the
documentation.

Task-number: QTBUG-85912
Change-Id: I518792db63647bf9ddd4507d8d4b7ef056192f82
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2022-09-01 19:03:00 +02:00
Jonas Kvinge
2e8c84cda2 macdeployqt: Fix deploying libraries with reexport
Fixes deploying libgcc, currently it fails to change the rpaths with the
following error:

ERROR: Could not parse otool output line:
"\t/usr/local/opt/gcc/lib/gcc/11/libgcc_s.1.1.dylib
(compatibility version 1.0.0, current version 1.1.0, reexport)"

Pick-to: 6.3 6.4
Change-Id: I5c866a375f88e3b222cbdbebc167b04174f753b2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-01 19:03:00 +02:00
Mikolaj Boc
9e05c9ad86 Add error message & format selection capability to batched test runner
Change-Id: I6686bf951204672c3542148e85e59e14e83e73c4
Reviewed-by: David Skoland <david.skoland@qt.io>
2022-09-01 17:29:30 +02:00
Marc Mutz
334c27dad1 [docs] Fix ints that should be qsizetype [src/corelib/text]
For the constructors, replace int with qsizetype. For the incorrect
return type in \fn of length(), drop the return type, the presence of
which violated DRY, stressing the importance of that SOLID principle.

Fixes: QTBUG-103531
Pick-to: 6.4 6.3 6.2
Change-Id: Ic7a8e1953333c28a2722fd7f753a0b5af6777395
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-09-01 15:51:48 +02:00
Marc Mutz
812a0d3125 QAnyStringView: construct from any T implicitly convertible to QString/QByteArray
This includes QDBusReply, QProperty, and QStringBuilder expressions.

The new constructor subsumes the QStringBuilder case without requiring
jumping though hoops to delay the definition of the ctor the way we
had to for the explicit QStringBuilder constructor, so remove the
explicit QStringBuilder one again.

[ChangeLog][QtCore][QAnyStringView] Can now be constructed from
anything that implicitly converts to either QString or QByteArray.

Fixes: QTBUG-105389
Change-Id: I0e584dd3e20d591381609a3329ef47cec7356ecc
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2022-09-01 15:51:48 +02:00
Marc Mutz
24e8a693cd QLocale: port to qsizetype [2/N]: remainder (qlocale_win.cpp partial)
Port ints to qsizetypes where they're not blatantly wrong. This
includes indexed loops that don't require the additional range,
because int these days is a code smell, so if we can save the next
code reader a few moments of digging to convince herself that the int
is ok even in 64-bit builds, then let's do it.

The Windows implementation only has the most obvious occurrences
ported, because I lack platform access. Created QTBUG-105100 to track
the missing changes. OSX should be fine, provided sizeof(long) == 8 on
64-bit OSX.

Pick-to: 6.4 6.3
Task-number: QTBUG-103531
Change-Id: I679183f28ed42e89e2879e29457e6a4e487fed0d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2022-09-01 13:51:48 +00:00
Morten Sørvig
df76a0585f wasm: set ALLOW_MEMORY_GROWTH for multi-threaded builds
Unify the settings for single-threaded and multi-threaded builds;
Qt now always enables heap growth by default.

This means we don't have to reserve a large (1GB) fixed memory
size, but can instead set the smaller (50 MB) initial memory size,
like the single-threaded build does.

Enabling threads + memory growth can potentially cause
a performance regression when accessing heap memory from
JavaScript (https://github.com/WebAssembly/design/issues/1271).
We leave it for the application to decide if this applies,
and if the switch to fixed memory should be made.

Change-Id: I96988b072506456685086e55aca4007a146bd70f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2022-09-01 15:42:28 +02:00
Sona Kurazyan
50b05e3e2a Move qVersion() from qglobal.h to qlibraryinfo.h
Since qVersion() might be called also from C code, disable the parts of
qlibraryinfo.h that are relevant only for C++ code if __cplusplus is not
defined.

[ChangeLog][Potentially Source-Incompatible Changes] qVersion() is
moved from qglobal.h to qlibraryinfo.h, '#include <QtCore/QLibraryInfo>'
needs to be added where it's used.

Task-number: QTBUG-99313
Change-Id: I3363ef3fa4073114e5151cb3a2a1e8282ad42a4d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2022-09-01 13:26:30 +02:00
Sona Kurazyan
b077c419ea Move QMacAutoReleasePool from qglobal.h to qcore_mac_p.h
And include qcore_mac_p.h where needed.

Task-number: QTBUG-99313
Change-Id: Idb1b005f1b5938e8cf329ae06ffaf0d249874db2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-01 13:26:30 +02:00