It can happen under unspecified conditions, see relevant ticket.
Task-number: QTBUG-86285
Pick-to: 5.15
Change-Id: I1f77bf0061a0faaa60283bb93fc3d82031247d54
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reduce ADL noise. The operators are not documented, so nothing to adjust.
Change-Id: I02a8bdad6138758106283495098c72770ea74e52
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
These operators don't do what the user might expect and may lead to
confusing results.
[ChangeLog][Source-Incompatible Changes][QFuture] The comparison
operators of QFuture have been removed. They were comparing the
underlying d-ptrs instead of comparing the results (as the users
might expect), which is not very helpful for the users point of view.
Change-Id: I80a887610eac38b60329128cca52cdb5fb515207
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
For the comparison of a QFuture<int> and an int, gcc creates code that
creates a qfloat16 instance, as can be seen when stepping through this
code:
QFuture<int> future;
int five = 5;
if (future == five)
return five;
Explicitly get the result of the QFuture to compare as a workaround.
Change-Id: Id2adc2268dbc0ccec7df3a9786c9d29dcdc04da3
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Previously we determined if a library represented by an absolute path
is a Qt module by checking if it's located in the build dir of the
current repo.
That is not sufficient for non-qtbase prefix builds, where
a Qt module might link against both a module in the current
build dir and in the prefix dir.
Detect such cases, and rewrite the absolute paths to relocatable paths
(either framework flags or paths starting with $$[QT_INSTALL_LIBS].
This should fix building examples with qmake that use QtQuick.
Fixes: QTBUG-87840
Change-Id: Icaf8f1a7c66292c80662fd0d5771a5a1628a9899
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Requires subsequent re-numbering of the enum tables to eliminate gaps,
before locale data can be regenerated. However, it will work with the
present locale data, since it merely loses the means to use some names
for which the available data was just the name and code. This implies
a transient issue of recognising some codes for which there is no
actual enum member; but relevant code will work as before, finding
nothing but the code and its name. This shall be resolved by a coming
BiC change to resort the language, country and script codes, changing
the numbering (almost) completely.
[ChangeLog][QtCore][QLocale] Various obsolete language and country
codes have been removed. Some lacked locale data, others were obsolete
aliases. All have been deprecated in 5.15.
Task-number: QTBUG-84669
Change-Id: I45fc76a5f2f6c3b0ea3c1bb61e917da984183783
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
CMake's --install --strip command will result in calling ${CMAKE_STRIP}
after installation.
On the build machines we have multiple compilers, and ${CMAKE_STRIP} will
have a valid program e.g. C:/strawberry/c/bin/strip.exe
This will change the MSVC binaries to have a MinGW linker version flag,
which confuses Qt Creator when setting up a MSVC Kit.
Amends 2044992eed
Fixes: QTBUG-87735
Change-Id: I1b3d4cc122b3f502810d48e0443f39824016cab5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Also for QByteArray::FromBase64Result, to reduce ADL noise.
Add explicit overload for comparison with nullptr to avoid
ambiguous overload errors with '0' comparisons.
Change-Id: I7ff9dbc90581707856c10cf7fb835175dfcdb55e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
We can't assume that the number of arguments we get from GetCommandLine
will match what we have from argc, as the former is not wildcard
expanded on MingGW.
mingw64 will ask __getmainargs to expand wildcards depending on
the mingw-specific variable _dowildcard. By default this is set
to 0 (false), but some mingw64-packagers (msys2, mingw-builds)
pass --enable-wildcard during build, changing this default. As
a result, the arguments we get through argc/__argc have already
been expanded. MinGW does not reflect this through GetCommandLine
though, like MSVC does, which triggered the assert.
Amends dff18b8e80.
Pick-to: 5.15
Fixes: QTBUG-67515
Task-number: QTBUG-84002
Change-Id: Ib87961c6901d2894b48ba0f5b9a3d6da2a595f24
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Move snippets to the right place, and give the widgets class a place to
live.
QtOpenGLWidgets is just a library, not a separate module, but we need a
module page that the class can refer to for correct build instructions.
Change-Id: I6d955ad3c4cd1003a828cc1f256deb6e7fb50ec4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
QPair is an alias to std::pair in Qt 6, so no need for two qHash functions.
Also remove note and snippet from std::pair overload documentation.
Change-Id: Ica8f6961af1eac493e909ad06fe46f8f68542bc5
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
-should be "look and feel"
Task-number: QTBUG-88010
Change-Id: Icd71c84e2331faa317a228cdbaaa82e7598b781f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Don't print stacktrace when setActivity is not found but only print a
debug message, QtActivityDelegate will continue to look for setContext
which might actually be a problem if not implemented.
Fixes: QTBUG-86733
Pick-to: 5.15.2
Change-Id: Iaf7f347ae04605a1f616f24d25cac4938c1640a4
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
If enabled by default, the cache size will grow quickly, especially
if multiple different projects are managed every day. Keep the option
commented, which can be enabled manually by the user.
Pick-to: 5.15.2
Change-Id: I6d4a67f4f1bb3e37b02de7ff4c534ec4d006f9a3
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Cursor were set to incorrect position (-1) causing first character overwrite in password field,
fixed by setting position to '0' for the first character
Fixes: QTBUG-85090
Pick-to: 5.15
Change-Id: Ia2333803d5fe8f274f1ad1a643e4ff5aa8556b81
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Add an EXTRA_CMAKE_FILES argument to qt_internal_add_tool()
that allows tools to install an additional Macro.cmake file.
This is modelled after similar functionality in qt_internal_add_module.
Task-number: QTBUG-87870
Change-Id: I80838b8966f1018fdd379b1da877b6bc418de075
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reduce ADL noise from QVector2/3/4D and from QQuaternion. Also mark as
noexcept.
Task-number: QTBUG-87973
Change-Id: Id14fd17c0da43517766b218ed85c3b41f91b43c8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Since 066daf750f, we would mistakenly populate the
fallback list for all ensureAt(index) calls, even when index == 0. This index
indicates the main font, is always valid and does not require knowledge of any
fallbacks.
On Windows (and other platforms where QPlatformDatabase::fallbacksForFamily() is used)
this would cause all fonts on the system to be loaded and should only be done when
we actually need one of the fallbacks.
With the GDI font database, in which font loading is slow because we have to manually
read font data, this is especially bad. If we can later move to using DirectWrite
for this, we should be able to improve on it, but in any case there is no need to
pay the cost of the fallbacks when the application is just using the fonts it has
selected (memory-wise this is also a bad idea). On my machine a simple text layout
went from 370 ms to 37 ms.
[ChangeLog][Text] Fixed an issue where on some platforms, there would be a delay the
first time any font was used, sometimes causing a visible delay in the UI.
Fixes: QTBUG-71737
Pick-to: 5.15
Change-Id: Ie8ce9b73f02a0e5cf39a2b280968b89f4caaf39e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reduce ADL nose.
We already have an inline default constructor calling memset, so can have
the comparison operator calling memcmp also inlined.
Task-number: QTBUG-87973
Change-Id: If8e0ae98b0c44fc3fddac7ef57c5ff021c80dad6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reduce ADL noise from QColorSpace, QPageSize, and QPageLayout with the
help of a private equals method.
Change-Id: I0082597dd216b982e8d8eb5a4bd7dd29a5d3263b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
clang warned about result being uninitialized if iface is nullptr. Return
a properly initialized result in that case as well.
This might break RVO, but the alternative is to always initialize result,
even if we are going to call the getter anyway, which I assume would be
more expensive.
Change-Id: I5d6d243b3094b79bf021725d017be5c72b1089bb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
The specific mentioning of macOS 10.2, 10.3 goes back to Qt
4 times. Anyhow, both versions aren't supported anymore, and
the logic in qsettings_mac.cpp is the same for all versions.
Pick-to: 5.15
Change-Id: Ibac503cb7c8563dec8560cc41c471c1db0f20566
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Fixes a regression introduced in commit 748b3b9c89 for builds
that are both not a QT_SUPERBUILD and not QT_WILL_INSTALL.
Change-Id: I52b920176a2696fa6206b89b2b69ae1a7f3fbc25
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
It is an important new details in cookies, as a minimum pass it through,
before we add API for it.
Pick-to: 5.15
Change-Id: I5222a24e0f50f3822a94cce126b5055fed1a8008
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Please note, that in case of run with promise it doesn't make
sense to provide the overload taking the FutureResult, as if we are
going to ignore the returned QFuture object, we can't communicate
with the passed QPromise.
Fixes: QTBUG-87083
Change-Id: I4066506736c2bbeea3e42030b9495f13e06cb27e
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
it is only used by QWin32PrintEngine and we know for sure
QWindowsFontEngine::handle() returns HFONT
Change-Id: I7656801e4642caf7df612d2f686061dca92707e0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Otherwise XOpenDisplay in a newly spawned process may fail with
a 'No protocol specified' message (as it recently happened in
CentOS 8.1 vm).
Fixes: QTBUG-87621
Pick-to: 5.15
Change-Id: Ib6c08c7f154fb2a126d32a4aa52b535e5daa1589
Reviewed-by: Liang Qi <liang.qi@qt.io>
As advocated in a ### Qt 6 comment.
[ChangeLog][QtCore][QItemSelectionRange] QItemSelectionRange no longer
supports ordering. The prior ordering was inconsistent with equality
and should not be needed.
Task-number: QTBUG-85700
Change-Id: I5eb372c203cae19db40fa67f706d911785652d5f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Ready for removal at Qt 6, as advocated in a ### comment.
It was never done consistently with operator==(), apparently, and
should not be needed in any case.
[ChangeLog][QtCore][QItemSelectionRange] Ordering of
QItemSelectionRange is now deprecated. It was not consistent with
equality and should not be needed.
Task-number: QTBUG-85700
Pick-to: 5.15 5.15.2
Change-Id: Ie99294bd7fc18f2a497598ae08840886b0a6d62d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>