We had only three macros left in QtGlobal:
* QT_STRINGIFY
* Q_UNUSED()
* Q_UNIMPLEMENTED()
There is no obvious existing header for them, so a new header is
created.
As a drive-by: add documentation for QT_STRINGIFY.
Task-number: QTBUG-106154
Task-number: QTBUG-99313
Change-Id: I2d051dd3e69f13602893a0f0d6968419479b6c23
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It's the least worst place we could think of.
Add the qttypetraits.h include to qforeach, because otherwise
the tests fail to build.
Task-number: QTBUG-106154
Task-number: QTBUG-99313
Change-Id: I841f22e887f351146589377ec2376957e2adfd5e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
A recent change fixed headerscheck complaining about missing std::min.
But <limits> was also missing, so included that, too. Added a comment
on <algorithm>, because I, too, thought std::min was in <utility>,
instead.
Change-Id: Ib22e78349c79673f7013a2ed26cd64b06e159ed0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reintroduced by qtmultimedia/ccdc369cb82180bc12c3a6b00d33afad2848ba02.
Pick-to: 6.4
Fixes: QTBUG-105984
Change-Id: Iaca5ac6ad360c78542f20922803bac3375cbe58a
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
We can get rid of the `control` member variable since it's unused (after
the switch to C++17). We can also get rid of the move operations as we
can use guaranteed elision. Move operations have always been a bit
finicky in their definition, as they wouldn't carry over the logical
positions of the iterators (but would always reset them to begin/end).
Change-Id: I7971ea92c5c23e98ca8a4951b54c4ec8133eff1c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The description of the macros in this header should not belong to
<QtGlobal>, so move it to a separate documentation page.
Task-number: QTBUG-106154
Change-Id: Ia1dc8738b390cb93b4a058cd23cc084c2d4ec9c1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The description of the macros in this header should not belong to
<QtGlobal>, so move it to a separate documentation page.
Task-number: QTBUG-106154
Change-Id: Ic31604b96d9ebea6e8aac285b00a8d4c82b15c9a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The description of the macros in this header should not belong to
<QtGlobal>, so move it to a separate documentation page.
Task-number: QTBUG-106154
Change-Id: Ic484f8b5ac137b052864937b526384e821f38fda
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In release mode different qHash overloads picked up for enumerators
in 2 different translation units (and this can be even affected by the
order of includes), thus resulting in one hash with which we insert
a value, and a different hash, when we are trying to extract the value,
which _is_ in QHash; getting us a default value (invalid QVariant in our case).
Pick-to: 6.2 6.4
Fixes: QTBUG-106219
Change-Id: I7cce35555d792f03e50639a8d3d25f6a74de05a6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
focusProxyAndInputMethods tests focus acquisition and inheritance with
a toplevel widget, acting as a focus proxy for a child.
X11 window managers are set to be bypassed, programmatic focus is set
with QApplicationPrivate::setActiveWindow().
The test is flaky on Linux/XCB, and therefore blacklisted on most
Linuxes.
This patch removes focusProxyAndInputMethods, considering that
- focus proxying is tested in tst_QWidget::focusProxy()
- window activation and focus inheritance are tested in
tst_QWindow::isActive()
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I510fd935399d9ad0b6cd76f1bd5db0811e0702f6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
When laying out a text and calculating maxWidth, we must _always_ take
into account the accumulated width of spaces (lbh.spaceData.textWidth)
regardless of wrapMode, other text content, spaces position, etc.
Fixes: QTBUG-106947
Change-Id: I2ac9af92ed7dd07c1e040bfcf83949a358d1c9c9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
The same kind of line is required for DocBook as HTML or QHP. This
change makes that requirement clear.
It was suggested by Nicholas Bennett in a change in existing
configuration for this exact line.
Change-Id: I664300f229bac9931c6f1ac4a08bd7c8c42bf37c
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
One cell spans 7 rows, while it indicated 8 rows. This typo implied that
one row had four columns, unlike all the others.
Change-Id: I6ae6f5b08fa5183228d1fb878d821a22bc2a1d39
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
Quick3D introduces the need to verify the QRhi when only a
QRhiTexture (pulled out from a QSGTexture) is available. To
enable this, there needs to be a way to retrieve the QRhi
from the QRhiTexture.
Change-Id: I00777f08b030a7de742169beb0b99ca6282d51a6
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Task-number: QTBUG-87480
Change-Id: I9c54ca30f693adda90e08e354127b0e9ea38651e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Not all enums defined in QPlatformTheme used the Q_ENUM macro.
This patch adds the macro where not used after an enum definition.
Change-Id: I372c8f763f5ca27a60864405ed50f51fc7a7f55c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Regression after f563203f60. Unlike the
characters and charactersIgnoringModifiers properties, the keyCode
property of an NSEventTypeFlagsChanged event can be read without
causing an NSInternalInconsistencyException.
Fixes: QTBUG-69608
Pick-to: 6.2 6.4
Change-Id: Id3679a468fbc609112bd8fb37aa7acc526492d19
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
- Remove the manual destroy methods - destructor should handle
destruction
- Remove the unused enum QWasmStateFlag
- Make public API private where possible
- Adjust handleTouch->processTouch to keep consistency with other
process methods
- Remove dead fields in compositor
- Don't keep a dead screen entry in m_screens in qwasmintegration
Change-Id: I98caf4dbdda5ebd25c4a9c22a40140c7ed1d7aa7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
There will now be a visual output in page if the qvisualoutput query
parameter is supplied. This simplifies debugging.
The main html resource has been renamed test_batch.html to reflect
the name of the actual test unit, not functionality.
Change-Id: Ib6cd4712de9c47cfcc5f670e7b34f998858f99b7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
This amends 05fc3aef53.
Pick-to: 6.4
Change-Id: Ie6bbdcd0d764ce1295f45f2d41d7c1c1ab47d9a8
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
After 1d961491d8, palettes are different
if they either have different brush data, or a different private. Two
privates can share data, but still must generate different cache keys.
The cacheKey has so far been composted of the serial number of the Data
struct, and a detach number that is incremented when we detach the
private.
This failed for two reasons:
- the implicit copy constructor of the Data class copied the serial
number, when it should have incremented it. Fix that by member-
initializing the serial number rather than doing it only in the default
constructor. The member initialization is also executed for the copy
constructor.
- the detach_no logic as it was implemented does not guarantee that two
copies of the same palette that share data, but have different resolve
masks (and thus different privates) have different detach_no values.
Use a static serial counter for that number as well.
Amend the test case to verfiy that cache keys, and the elements of the
cache keys, change when they are expected to.
Fixes: QTBUG-106984
Pick-to: 6.2 6.4
Change-Id: I84d7055ce8bfe0d42f1f8e9766f3f1ad610f4ec8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
std::min is defined in header <algorithm>. It seems that the
latest macOS/iOS clang fails without it.
Change-Id: I3d1cfad27244580ea975db870d993cce394b4b2f
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Causes newlines between lines in the output:
QtBluetooth: WARNING: adapter1_bluez5_p.h does not have the "We mean
it." warning
QtBluetooth: WARNING: battery1_p.h does not have the "We mean it."
warning
QtBluetooth: WARNING: device1_bluez5_p.h does not have the "We mean it."
warning
Change-Id: I810d70e579eb4e2c8e45fffd1719b415dd74ee43
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This portion of the documentation was there since the Qt 4.5 import of
the repository and may have been correct at the time. They haven't been
for some time and definitely aren't now. So be clear that even if there
are overloads, some of them are bad ideas.
Pick-to: 6.2 6.3 6.4
Change-Id: I810d70e579eb4e2c8e45fffd1719adefb6f9f3bf
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
AMD introduced BMI1 to one of their processor generations before AVX2
and BMI2. Complements a98cf15ed1.
Fixes: QTBUG-107072
Pick-to: 6.4
Change-Id: I810d70e579eb4e2c8e45fffd1719b15d80d88c10
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Add the -warningsAreErrors command line argument to syncqt.cpp that
causes a fail at build step if any of header files doesn't fit the
syncqt standards. The argument reflects the WARNIGS_ARE_ERRORS CMake
variable state.
Output the syncqt.cpp warnings at configure time.
Fix the faulty positive IncludeChecks failure flag.
Task-number: QTBUG-107088
Change-Id: Id30af4c7b78fd44c1c99c7e9306965d03a0f992d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The property also needs a QT_DEPRECATED_SINCE guard, and we can specify
the version in the qdoc \deprecated tag.
Change-Id: Ib333df862d1ef1c0c41a1baf51691928a64ecd75
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
The file was originally introduced as a header because the data was also
used by Qt WebKit. This is not needed anymore. Moving it into src/3rdparty
is also more in line with QUIP 4.
[ChangeLog][Third-Party Code] The Public Suffix List (PSL) data file got
moved from src/network/kernel/qurltlds_p.h to
src/3rdparty/libpsl/psl_data.cpp.
Change-Id: I3283cbbd72575032d8c7ebd333e81048d948c052
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Qt6 added a slight behavior change in QVariant - an empty QString in a
QVariant no longer results in QVariant::isNull(). This created an issue
that qGetStringData() could no longer return a NULL value. On the other
side, NULL values in Qt5 could not be distinguished to an empty string
which we now can.
Fixes: QTBUG-106607
Pick-to: 6.2
Change-Id: Iddc6f7e8b97f5abc136bbbfd02d175b80152ac90
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
The second parameter to the onDone callback in istantiateWasm was
missing in qwasmjsrunner.js, which prevented the wasm module from
working on the threaded qt build.
Change-Id: I5d1be7a2e0d8043112f304b4d2530acdaae7b398
Reviewed-by: David Skoland <david.skoland@qt.io>
Sharpen existing documentation with a focus on use cases and
differences between both methods / overrides in qtestsupport_gui and
qtestsupport_widgets.
Pick-to: 6.4 6.2 5.15
Change-Id: I62b7be437dd43bb0b114af66de51fb4d1f55b671
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Skip sanity checks if a -help option is detected.
Otherwise, syncqt bails out with e.g.
You need to specify either -headers or -all option.
Change-Id: I49eee48cd1825244cb6d04152734cb0dfa03fc5f
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
qnumeric_p.h:343:18: error: comparison of integers of different signs: 'int' and 'const unsigned int' [-Werror,-Wsign-compare]
note: in instantiation of function template specialization 'qt_saturate<unsigned int, int>' requested here
Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-104972
Task-number: COIN-928
Change-Id: I810d70e579eb4e2c8e45fffd171992a457a139dc
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
So that the links to <QtResource> header work properly
This commit amends 8aefcd4756.
Task-number: QTBUG-106154
Change-Id: Ic30c7502bbd7a31612256d3a0f57c73587b236c9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
So that the links to <QtClassHelperMacros> header work properly.
This commit amends c201c5aedf.
Task-number: QTBUG-106154
Change-Id: I894e362bf2707f64f28f00c8da4c7d6106fd5c83
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This allows for a shared version of Qt and linking against static
version of OpenSSL.
Tested and reported by Yuhang Zhao.
Change-Id: I8af8ad5eb698f719aae644ce1fcf12d2a78cdb31
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
In the presence of QT_CONFIG(opensslv30).
Fixes: QTBUG-107027
Change-Id: I481db3cdf3bbb1aa7127cc5498f0c0217df8c35b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Qt6's minimum supported platform is Win10 1809, and all pre-Win10
code have already been removed from QtBase long time ago.
These code are trying to support Windows 7 to Windows 8.1, which
nowadays become legacy code and should be removed.
Pick-to: 6.4
Change-Id: I21a979d32d99977107964bccc06fdec7b38cd727
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Use HiliteMenuItem() can do the same thing but code less.
Change-Id: I53510668a9bed25bdb7db8a0225a165322b8959c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>