The default menu item will appear in bold font, and calling
SetMenuDefaultItem() can do the job for us. Use it instead of
calling SetMenuItemInfo() to save some typings.
Change-Id: Ifa834adc45f3aafd67077c089fb4e7b5d3fd3e02
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Replace the legacy MF_ constants with the new MFS_ constants,
MFS_ENABLED is the same (0x0), and MFS_GRAYED is equal to
(MF_DISABLED | MF_GRAYED)
Change-Id: Ib0bf166d9c7f09d38026c9bf01d8bf05982f88c4
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Replace the macro use with the expansion of the macro as it appears in
both libc++ as well as libstdc++.
Fixes Clang 15 C++20 warning-turned-error:
forkfd.c:157:39: error: macro 'ATOMIC_VAR_INIT' has been marked as deprecated [-Werror,-Wdeprecated-pragma]
static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0);
^
forkfd_c11.h:51:37: note: expanded from macro 'FFD_ATOMIC_INIT'
#define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val)
^
/d/llvm/15/bin/../include/c++/v1/atomic:2671:43: note: macro marked 'deprecated' here
# pragma clang deprecated(ATOMIC_VAR_INIT)
^
Matching OpenDCDiag pull request:
https://github.com/opendcdiag/opendcdiag/pull/159
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I0204f7fcd6039624ed75d414daf9b6a771bfd9d0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Hotfix for disappearing zlib symbols caused by QTBUG-104972
and QTBUG-106542 fixes, to be merged later on.
Pick-to: 6.4 6.3 6.2
Change-Id: I21e0bf13c866fa7bb45c7587c81e7fddddad90f9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
- detect the HPPA architecture (PA-RISC) and define Q_PROCESSOR_HPPA
- set the right machine type in QElfParser for HPPA ELF files
Change-Id: I5214ce64ef1fdd0ecca3d6c1694c5db9b2852a22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We aim to allow building Qt for Android on one host, and make it
usable on any host.
Previously when built on a Windows host, we embedded windows style
paths into the android -dependencies.xml files, which caused
androideployqt to fail deployment when building a project on a unix
host.
In Qt 5, the dependencies xml files for Windows Android packages had
unix style paths. Thus switch to always using unix styles paths on
all platforms.
Amends a9d2c5b6d7.
Fixes: QTBUG-107249
Change-Id: I851d3e0b08415b4c7f0d22baf43c10c715879ee7
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
None of these users require C++20 constexpr or C++23 noexcept, the
only remaining difference between std::exchange and qExchange.
This leaves a single qExchange() user, in QScopedValueRollback, that
requires the constexpr version, only available from C++20, and thus
remains unported.
Task-number: QTBUG-99313
Change-Id: Iea46f6ed61d6bd8a5b2fd9d9ec4d70c980b443a2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Instead of using the overly-generic qSwap() monster, use
- qt_ptr_swap() for swapping raw pointers
- member-swap for swapping smart pointers
- std::swap() for swapping scalars
In QtCore, this has proven to give a nice reduction in compile time
for Qt users, cf. b1b0c2970e.
Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-97601
Change-Id: Iad8e6c11ebcc3ff822479c36f5faff88992b1165
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
It just adds constexpr to it (we're ignoring the range version).
Apply it to QOffsetStringArray, where it replaces the copyData()
function.
Pick-to: 6.4
Change-Id: I6caf3b5fd2e60f4fcb0b116684c3ad6a8043f38e
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
All they do is add constexpr.
Use them in QOffsetStringArray where they replace a custom
implementation, except, as usual, the custom implementation does one
tiny thing more, so not all uses can be replaced.
Explicitly not use it in QStaticByteArrayMatcher to not cause
conflicts with the introduction of QStaticLatin1StringMatcher.
Pick-to: 6.4
Change-Id: I3c102a7e934a1d7d5fae4cbc629a4fabf2c47c92
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Otherwise, context menu can be resized.
Pick-to: 6.4 6.2
Task-number: QTBUG-106925
Change-Id: I409d0113fd92ca89b14f068c391dd9c0ddb79ce7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
- Skip tests that depend on programmatic window activation on platforms
where this is not supported, such as Wayland.
- Change tests that don't rely on the window being activated to use
qWaitForWindowExposed() instead.
Task-number: QTBUG-107153
Pick-to: 6.4 6.2
Change-Id: Ieb4280343a725a2cbdc46a8ac5c657beeb2e7e57
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
There is no clear path to generating WGSL shaders, but that
should not prevent QShader from being able to contain such
shaders.
Change-Id: I819e1c67c38d675971907a3a80885ddec78da0f6
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Makes it easier to navigate to the offending file.
Change-Id: Ie2de5d6a0735952e72444b0ac8710fc44311eace
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
The module name is already clear from the build rule, e.g:
[17/451] Running syncqt.cpp for module: QtCore
WARNING: qtconfigmacros.h includes qconfig-bootstrapped.h when it should include QtCore/qconfig-bootstrapped.h
Change-Id: I9f306768e4f415dbdc20e58a93898cb7bdd83298
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
The QSharedMemory backend build system machinery does not currently
support multiple backends, so the choice has to be made at configure
time.
Pick-to: 6.4 6.2
Fixes: QTBUG-106910
Change-Id: I4b814ca1c131a2860467e96cc5a6dd7cd03fc8b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
These escapes were documented but not used until the version 15.0.0
of Unicode.
Task-number: QTBUG-106810
Change-Id: If48dcd80acf32989e3f47676ca3d41848a325c0e
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Several new headers were extracted from qglobal.h in scope of
QTBUG-99313. This commit makes sure that none of them actually includes
qglobal.h.
As those files are new, it should be safe to introduce this change, as
it shouldn't have any impact on the user code.
This patch also modifies the autogenerated module exports header to
include qglobal.h before the include guard. This is needed to prevent
circular dependencies which result in Q_<MODULE>_EXPORT being
undefined.
Task-number: QTBUG-107046
Change-Id: I8d998792fd8129173d9ec811557e7d7604282813
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Previously the code was relying on the includes in qglobal.h, but now
when we try to get rid of qglobal.h we can end up in a situation when
qconfig-bootstrap.h was first included before qglobal.h (__GLIBC_PREREQ
not defined), and also included once again after qglobal.h
(__GLIBC_PREREQ defined, at least on linux). This resulted in
redefenition of Qt features dependent on __GLIBC_PREREQ.
This patch fixes it by explicitly including the stdlib.h header which
will provide __GLIBC_PREREQ definition when it is available.
Task-number: QTBUG-107046
Change-Id: Idbf7a11151c5f81723131daf25c06ef454ff5cbb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Don't mention the macros, functions and types that are moved to other
headers. Descriptions for most of these were moved to docs of
corresponding headers. Update the <QtGlobal> docs to only mention what
is currently there.
Task-number: QTBUG-106154
Change-Id: I693b7665c75d9b7c129e0646a4202e6d3e4e8499
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This was the last function left in qglobal.h.
Task-number: QTBUG-106154
Task-number: QTBUG-99313
Change-Id: I6b16744b2811b7ca9837742610d72b85da7c76b2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
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>