| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Qt 6.5.5-lts-lgpl
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 4c16c8afb37f0b4cbcfb37d47baf6fc29e42c7b7.
The revert is needed for the opensource releases which cannot contain commercial license headers.
Change-Id: I0caa255093ecf406978de958cd3810bc9f80121e
Reviewed-by: Jani Heikkinen <[email protected]>
(cherry picked from commit 5d8e9a8415562ba004b38508d91e1fa0254c17d3)
|
|\|
| |
| |
| | |
Qt 6.5.5-lts-lgpl release
|
| |\
| | |
| | |
| | |
| | |
| | | |
Qt 6.5.5-lts release
Change-Id: Ic87e42480ba30910eade465936c0618ab9cfb971
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apart from some source code reshuffling, 10.43's JIT has
dropped its support for ARMv5.
[ChangeLog][Third-Party Code] PCRE2 was updated to version 10.43.
Change-Id: I7909f0a9358f38282f5eaeacd2eb10529b47e63c
Reviewed-by: Volker Hilsheimer <[email protected]>
Reviewed-by: Kai Köhne <[email protected]>
(cherry picked from commit 909d881e7539bc77ab79650782ae91372fb4ee83)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 18d15404cbbbb87547e7a99623650d5ed69898c9)
(cherry picked from commit 179164ef1400dc18b6a1cb2a5bf6d22bd670b5b3)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... and use that in QVarLengthFlatMap's definition in lieu of a magic
constant.
Amends d4611ba3a5b46ee790e6c790ef6c3d771d3507ee.
Pick-to: 6.2
Change-Id: I369f31b643789075ef6c14669b8b794ed0b3bbb1
Reviewed-by: Fabian Kosmale <[email protected]>
(cherry picked from commit c30195a95e751552a39f99dd5833ebf722d11bc1)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit aea4e9788ab45df63dc14000321c7743dc9f3ab2)
(cherry picked from commit 823a9677b42ecf75baf558f250a1bd0a79a89322)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QXcbConnection::mousePressWindow() returns the XCB toplevel window,
which has consumed the window system's last mouse press. When the
function returns a valid pointer, QXcbWindow::handleLeaveNotifyEvent()
didn't propagate the leave event to QWSI::handleLeaveEvent(). Instead,
the leave event was ingored.
That behavior is correct, e.g. when a button on the main window is
pressed and the mouse hovers away from the button, with the mouse
button continuously being pressed. It is not correct, if the mouse
cursor leaves the main window.
=> Ignore the leave event only as long as the mouse cursor remains
within mousePressWindow()->geometry().
=> Deliver the leave event, when the mouse cursor leaves the window.
Fixes: QTBUG-119864
Pick-to: 6.2 5.15
Change-Id: I30a6ebedcd148285b9f17dfd87885ff67726b54c
Reviewed-by: Liang Qi <[email protected]>
(cherry picked from commit ec24b36d3db82c340d9386951ea48c26f77c2923)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 39e9b6b24cae07e7d11973ee680f9722ad10cf08)
(cherry picked from commit 45efad7207ba47319e37be4ca5a61ef57eef7705)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The code is in a critical section, so don't waste time traversing the
QMap twice.
Now that two previous commits have re-arranged the code such that
lookup and insertion are symmetric, we can combine them into a single
lookup using operator[].
Change-Id: I4a10cece65b8c35d05a9b80967bf15d2e15bd73f
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit 7192b1184190982b6422196121821838d9fcbba6)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 25649bcd3ba36169f77fc717e8e1b278785bdb1b)
(cherry picked from commit 38c405d26a73064713da00419c28cf88616dbe4d)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Like other backends we should increment the invalid character count
when we output a replacement character.
And we should also output the NULL character if requested!
The downside here is that convertFromUnicode doesn't even have the
ability to do so. So instead I added a comment explaining why it is not
handled there.
Task-number: QTBUG-118318
Change-Id: I57ba631aa59454e77007ab353277b7e8c2b5526a
Reviewed-by: Thiago Macieira <[email protected]>
Reviewed-by: Edward Welbourne <[email protected]>
(cherry picked from commit 3c8d71796499a2ca641758dc1e9af4a778c8ef41)
(cherry picked from commit 4483e814407b4dedbcea828e30d19784a8b7e462)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 487c24bd4620ce2764bdb826e988037bd623419d)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By failing to set the G_FILE_ATTRIBUTE_STANDARD_ICON attribute, the
"icon" returned by g_file_info_get_icon was always null and a
GLib-GIO-CRITICAL warning was output to the console (at least since glib
2.76.0)[1].
After adding the necessary attribute, the code was crashing, because now
a valid icon was returned, however the icon should not be freed[2],
which is why I removed the "g_object_unref(icon)".
Now it was no longer crashing, but the size of the icons was off. It was
passing GTK_ICON_SIZE_BUTTON (4) to gtk_icon_theme_lookup_by_gicon where
a size in pixels was expected. I chose 16 because that's the pixel size
associated with GTK_ICON_SIZE_BUTTON[3].
Finally I noticed the returned icons had the wrong color. It seems that
a GdkPixbuf uses RGBA8888 format[4]. Adding an explicit conversion to
ARGB32 made the icons look correct for me.
[1] https://gitlab.gnome.org/GNOME/glib/-/commit/ed8e86a7d41a0900d8fa57edc64264d04cf8135b
[2] https://docs.gtk.org/gio/method.FileInfo.get_icon.html
[3] https://docs.gtk.org/gtk3/enum.IconSize.html#button
[4] https://docs.gtk.org/gdk-pixbuf/class.Pixbuf.html#image-data
[ChangeLog][Platform Specific Changes][Linux] Fixed file icons provided by QFileIconProvider when using the gtk3 platform theme.
Change-Id: I312ef76ac28bc28435b756d299998485db122906
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 277d77029d7fe8f46c6ee101869dcff389426cb1)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 2cfe7199a2c84371ef02e3ddd6f841f28fb2776f)
(cherry picked from commit 3e284681db98fb12050e8bb3d79d28b328de8b94)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QObject::startTimer() returns 0 in case of failure, for example when
someone tries to register a timer with a negative interval.
However, QTimer internally uses -1 as an invalid timer id.
This could lead to a situation when the timer was not really started,
but QTimer::isActive() returned true.
This patch fixes it in two ways:
- check the return value of QObject::startTimer() and treat 0 as an
error.
- do not treat 0 as a valid timer id when calculating the active state.
As a drive-by: move the `using namespace std::chrono_literals;`
declaration to the top of tst_qtimer.cpp, so that we do not need to
repeat it in each test case.
Fixes: QTBUG-122087
Change-Id: I0e21152b2173ebb5fb0dada1b99a903a321ca9c4
Reviewed-by: Ahmad Samir <[email protected]>
(cherry picked from commit 612b67cf13cedb832e082308b620f948377ddf21)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 40e56294f1a082e9066df01e7ed82a0681983f01)
Reviewed-by: Ivan Solovev <[email protected]>
(cherry picked from commit 148ec9eb9d955b808026f533e3b56917686985cd)
Reviewed-by: Edward Welbourne <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As we did for convertToUnicode. To support more than 2Gi input, we
need to handle the input in chunks because of the `int` parameter in the
Windows API. Testing also revealed some corner cases we also need to
handle, which is mostly happening when there is an incomplete surrogate
pair at the end of the current input window.
The test takes between 3 (plain MinGW) and 8 (MSVC with ASAN) seconds
to run on my machine.
Fixes: QTBUG-105105
Change-Id: I4fb0420b88ca41dfa8b561a35c6d96659bd81468
Reviewed-by: Edward Welbourne <[email protected]>
(cherry picked from commit 496340f33ad48738d1595c5c4048e4a05819786c)
Reviewed-by: Fabian Kosmale <[email protected]>
(cherry picked from commit b04fe2de612ac477da39ad2342a2bd825325b03f)
(cherry picked from commit 5826551a1d5e0870dc3f0ba2f61c56f99c733dd4)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure not to set the AUTORCC_OPTIONS property on INTERFACE_LIBRARY
targets, because it's not allowed with CMake versions lower than 3.18.
Amends 329dbfcc78d067d26b5a4dd99f4284900fd68f2c
Fixes: QTBUG-122266
Task-number: QTBUG-106466
Task-number: QTBUG-101353
Task-number: QTBUG-121948
Change-Id: I9ab606c0b11e2b4f8689e0bde9c001f59c81fa42
Reviewed-by: Alexey Edelev <[email protected]>
(cherry picked from commit b3cc89e81c149533e279df2442a79cc1dfce9ec5)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit b404d8e36193d75fb9d837489bec847e480d24f7)
(cherry picked from commit a6c0f17038743e6613b5e2984c65d04e58a89c96)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SHA-256 is used since 2019.
This amends c9f8893000249bd5701674c53d18a823b4a1c629.
Change-Id: I005aa3414e4606045c8c3b01d71547efcf4122ba
Reviewed-by: Assam Boudjelthia <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
(cherry picked from commit ad8047daf1eee0263a3749974ed2f33faae6609f)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit eac0a67e82444550aa71c89b710acfa5d5e43689)
(cherry picked from commit 683c209c1fc4364b5d5e3e79af10641fc7845825)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If there's no QLibraryStore::instance(), then there's no LibraryMap,
so no need to construct a mapName we know we'll just throw away.
We must keep locking the qt_library_mutex to check instance(), but we
can drop it immediately if we find there isn't, and construct the
QLibraryPrivate object outside the critical section (the hope is that
the compiler sees this as an opportunity to tail-call).
The final goal of this exercise is to get rid of the double-lookup in
LibraryMap.
Change-Id: I181dd2657e831a37e2d6f1c5d4df7e2a25ac48cd
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit c9b967437df344b5fc95121a3560a34bf352c696)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 0fe424a9ae3432b0e0d4e9b9951dc6e5a212e65e)
(cherry picked from commit bab53da0199bef67942350197d396d2eaad853a8)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The QTZP base implementation of the availability check was to
construct the list of all available IDs, then see whether the given ID
appears in it. This can be very inefficient. The ICU backend has
recently grown a more efficient solution than that, matching the TZ
and Darwin backends. For Android this was still very inefficient, but
its instantiation is cheaper, so simply instantiate and see if the
result is valid. For MS, the backend caches the list of available
zones, so searching the list is a reasonable solution, given the
complexity of its constructor.
Add an implementation for Android and document, in the base-class,
that the fall-back is only suitable for use if the list is cached.
Change-Id: I9dc2ba4be1492ec811c8db6cff9490ac0303115d
Reviewed-by: Volker Krause <[email protected]>
Reviewed-by: Assam Boudjelthia <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit 7c502391cf73e3fa5bc02ea0b46261f0b5be0b84)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 219fbe7b21252a82aec396c4113ee8bf779ea062)
(cherry picked from commit 4eb7bef0baf3aaf9b76015519ad481550b6a3251)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Both of these functions return a StringResult, which has no
StringResult::code member. Instead, use the existing
StringResult::status member.
Fixes: QTBUG-122254
Pick-to: 6.2
Change-Id: I0b9bfa1fc9a30e9c542ab90f3d8f4243bdeda762
Reviewed-by: Friedemann Kleint <[email protected]>
(cherry picked from commit 57388179a41a169d4f6d65a385f605af31722bf2)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit cd664a7f396274d06343dc056f34ca9083f8dbfa)
(cherry picked from commit f2c016cfea0ea62f37ef9d423f28eefdee460e84)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The plumbing from QBackingStore::resize to the platform backing store
was missing a high-DPI conversion for the backing store's static
contents, which is also expressed in the QtGui coordinate system.
Pick-to: 6.2
Change-Id: Ifaac916cbf184b9386aa5feca1577a53bf2906ed
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 515822de24e45e9c6d8d59b74c557640ba68a6ba)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 4a39d2039f6439115b0bb3a917dd525af9a8ff4d)
(cherry picked from commit 88fdd9b2b20179903d025ba5872fc59c446ab163)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As we did for convertToUnicode, we do some smaller changes, like
increasing indentation, and switching to using pointers and calculating
the input-size in this commit, so that the real changes in the next
commit are (hopefully) easier to read.
Task-number: QTBUG-105105
Change-Id: I3bf1a487f63a3e24efd7a945152647dd8fc0aca8
Reviewed-by: Thiago Macieira <[email protected]>
Reviewed-by: Edward Welbourne <[email protected]>
(cherry picked from commit cba0efc2705af1ef027603f7ee4cb60f184412d8)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 5e882b5de92b2c4b4f58f661a2e1949823742b23)
(cherry picked from commit 136a7ce68d5b11e12465520257a9909a99a40db5)
Reviewed-by: Qt CI Bot <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To properly support more than 2Gi input we have to support being asked
to resize more than once. Previously we would only have to resize the
one time because we went from our 4K stack buffer to the final size
heap buffer. But now, since our input size can only be specified in
int, we have to deal with looping over the input and resizing the buffer
as needed.
We also have to deal with trailing data at the end of our sliding window
potentially causing issues for the encoding. So we try to shrink our
window when it causes issues, or store the trailing data for the next
call.
The >2Gi test takes about 6-8 seconds on my machine.
Task-number: QTBUG-105105
Change-Id: I9a44b8f379bf2c2c58183f961544ed2f4c8c7215
Reviewed-by: Edward Welbourne <[email protected]>
(cherry picked from commit a7171c62569ac2005560131a17515bb6841e9b98)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 22f2fcd35496e3c7d4ffa2fbe69d5fbd9eaef2ad)
(cherry picked from commit 01a86e3e3da3ac9e771007b830597860829e8aff)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We will need to potentially grow the buffer before appending anything
to it, because if we pass in 0 as a size then the MultiByteToWideChar
just returns the size we would need. If we didn't intend to do so then
we would increment our output buffers even though nothing is written.
And when appending single characters (like the replacement character
for an invalid sequence) we need to grow the buffer as well.
We'll need this all in the next commit.
Task-number: QTBUG-105105
Change-Id: I94b9a0f7d18a725da01a47398163e6d0f704eefc
Reviewed-by: Ievgenii Meshcheriakov <[email protected]>
Reviewed-by: Edward Welbourne <[email protected]>
(cherry picked from commit 1090d5dd4ae5be898d4566314eda43b0283709d9)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 0c944d361ad6344a45c0d8ece2d5ea372bb58937)
(cherry picked from commit 296cd51292ac7e71ebf367f171142675e2cff8c9)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On MSCV x86 (32bit) the comparison of qsizetype with
std::numeric_limits<quint32>::max() leads to a warning.
This patch adds a static cast to avoid the warning.
This is an ammendment to 28ecb523ce8490bff38b251b3df703c72e057519
Pick-to: 6.2
Change-Id: Ie50572165ac31aafa7d23570bc133c5c96cf8b00
Reviewed-by: Jonas Karlsson <[email protected]>
(cherry picked from commit 6463b36da05bf57f2ff5857be6fa56e2c240fe12)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit faaef169f587084f517f16c72825f304bbef6dba)
(cherry picked from commit 84b2ec6acb7b03473c8636d61ae7439a7983ac0d)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The value of QT_DEPLOY_QML_DIR was never passed to windeployqt.
Fixes: QTBUG-121881
Change-Id: I993793f74d84ccb0e7c2deb72b1e33e81692ecbb
Reviewed-by: Alexandru Croitor <[email protected]>
(cherry picked from commit 527b9da5388a3cccb81706becbd8e40977d5db11)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit f224891038ceadfda09153f48a9de043cdebe791)
(cherry picked from commit 208fb8b496a377e74648996a9c7d05e314704643)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If it wraps, the text on the next line is no longer part of the heading.
Fixes: QTBUG-106526
Change-Id: I8015c948d875c6944422ef3439e3128af5b2a2e2
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 65c40290b488395ee7c1fdfabc4d274889d9afab)
Reviewed-by: Shawn Rutledge <[email protected]>
(cherry picked from commit a7367e6a3cd8796401fd8090500954528ba962da)
(cherry picked from commit d16ef4d14c237fa7536662bd69d1702ce3b37e90)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If we need to word-wrap a paragraph after a long formatted span,
write any ending markers before the newline (amends
280d679c556ab8ead4748a627d7cd4c1950027fb ).
Break before a fragment if the whole thing is past the column limit;
in that case, write out any ending format markers before the newline.
And now we have test coverage: prepend characters one-at-a-time to a
line that already has a two-word formatted span at the end, and watch
it successively break after the span, in the middle, and then before,
while never putting a newline before the ending markers or failing to
write them.
Fixes: QTBUG-116927
Change-Id: I140e10d19a491cb599bf7ecf8514af866b5383f3
Reviewed-by: Axel Spoerl <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit 908fc2e72b34073dc42ce0f2d6f7cc5adc9651d9)
Reviewed-by: Shawn Rutledge <[email protected]>
(cherry picked from commit 183ee5c17705d297f8c2f232a096ebfa11ffa0dd)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 2ed87fb971d27582d316036e78b8a40b966efaea)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we add support for dynamically linked FFmpeg, some FFmpeg libraries
will be available in the bin directory. windeployqt should then copy
these libraries to the application directory if the ffmpeg media backend
is included.
This patch extends windeployqt with support for deploying these FFmpeg
libraries.
Potential issues:
1. This patch hard codes the FFmpeg library names that we currently
depend on, such as 'avcodec' or 'swresample'.
2. We don't take version number of the FFmpeg libs into account. This is
done to reduce the maintenance burden when we upgrade FFmpeg, and
should not be a problem as long as we have a single version of FFmpeg
in the online installer.
3. Finding the library names is a bit quadratic in complexity, bound by
the number of libraries in the bin folder, but should not be too
slow.
4. We need to update windeployqt if we add or remove ffmpeg libraries.
An alternative would be to identify all dlls that the ffmpeg media
plugin depends on, and then deploy all files that exists in the bin
directory instead of hard-coding library names. This would, however be a
bit more fragile because we would not be able to warn if a library was
missing.
Note that this patch is a workaround. It is needed because Qt does not
properly support CMake's runtime dependency features with platform
plugins. Even if we added FFmpeg binaries to the dependencies set, they
would not be visible at install time.
This is a manual, but trivial cherry-pick from 6.6
Pick-to: 6.5
Change-Id: I4b23e50429d16e8487bf43ce9982ff37d02ffbe2
Reviewed-by: Artem Dyomin <[email protected]>
(cherry picked from commit 138eebcc099e5e95ce04315ac7e1899f59399ca1)
(cherry picked from commit e2fbb431cb8680695145c33eed6c343a7abe84e2)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 256bb590656b12bb4aac804e4728de8fef4e462f)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we recreate a top level QWidget due to the RHI config not matching,
we need to re-apply the window state, as the state is lost on destroy().
But we should do this on the QWidget we are recreating, not on its
closest QWindow. These are usually the same, so it didn't matter in
practice for most cases (besides the more convoluted way of getting
to the QWidget's window).
But if the top level widget does not have a winId yet, the call to find
the closest QWindow via QWidgetPrivate::windowHandle() will traverse from
the top level widget to its transient parent widget, via nativeParentWidget,
which is strange and likely a bug.
As a result of that, we would store the window state of the transient
parent widget, and then, once we had created() the new top level, we
would apply the window state to the top level, which now had a winId.
We can simplify all of this by just storing and applying the window
state on the widget we are re-creating. There's no need to go via
the closest QWindow for this. We do however need to set the window
state on the widget's window, as going via QWidget will just bail
out since the window state hasn't changed.
Amends c88211d1e4ac12eb2ae4990703a4f73c7085d624
Fixes: QTBUG-119795
Change-Id: I0ad6e7bbac5f29d095cc643e9a7094784e9a2122
Reviewed-by: Volker Hilsheimer <[email protected]>
Reviewed-by: Richard Moe Gustavsen <[email protected]>
(cherry picked from commit aecedfed9ab763513af8fda5a2b208b263da3f65)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit fe434acac664b5e4a94b6816e44a4ba460214fd2)
(cherry picked from commit ab683da496d58631e58595b3e0d6862e0d377e6a)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Backport specifically for Qt 6.5.
Fixes: QTBUG-119148
Change-Id: Ia119ab3ced9da08853c608aa256bde08a6fd8d4e
Reviewed-by: Andy Nichols <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit bb1d9bab36d779e595a924e3218d4066d84fca38)
Reviewed-by: Tor Arne Vestbø <[email protected]>
Reviewed-by: Laszlo Agocs <[email protected]>
(cherry picked from commit 153ca77c263d9a0f515402ad35806c68aebc33be)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace QObject::connect statements using SIGNAL/SLOT macros with
recent API.
Replace if/elseif cascades with switch statements.
Remove unnecessary blank lines.
Change-Id: Ib813e25530905e01f70ad52da11e69163445eaf8
(cherry picked from commit 2f3f3eb0d4d77743c135d95c792f66a4272903f7)
Reviewed-by: Shawn Rutledge <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will show up in menus as ⌫, instead of ^H, which is a better fit
with the native behavior.
Task-number: QTBUG-122042
Task-number: QDS-11733
Change-Id: I224971421a13baec2a0f65be8ae4a5791dabafdd
Reviewed-by: Doris Verria <[email protected]>
(cherry picked from commit 41b76ffbd0993997f541436b1235407b00c542f9)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 15c45090183e48368f6db5a1d1bd75036f0d8c35)
(cherry picked from commit 62d2a7ec415625020250a00e0fe043902434fda1)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I44243ed239c21382569f0c4abf9a271da42b9a19
Reviewed-by: Alexandru Croitor <[email protected]>
(cherry picked from commit 74dac559c060ee24242a625fc46a8c463d06055f)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 979f6b4eb3a070a22615948f787fd17fd5401ee9)
(cherry picked from commit 8d1555ea3f5967d7444952e905a4f8733dce8e70)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A recent change fixed the texture format parameter to be RGB instead
of RGBA for opaque internal formats. However, this broke the RGB10
case, since the pixel type is then GL_UNSIGNED_INT_2_10_10_10_REV. The
doc says:
"GL_INVALID_OPERATION is generated if type is [...]
GL_UNSIGNED_INT_2_10_10_10_REV [...] and format is neither GL_RGBA nor
GL_BGRA."
https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexImage2D.xhtml
This modifies ba9e57d65f15c935632b0ad22db0bead9a7d5f90.
Change-Id: I9a004331513179a3f840a007af0418d14e7f5dff
Reviewed-by: Laszlo Agocs <[email protected]>
(cherry picked from commit b0056f052d842150305d59a3ced280e1885a8619)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 6ae9a8441e35ff36a7a0d53e7d0dfc2de094854d)
(cherry picked from commit 4b77494bfb1353f3dd54894bf6ce38c5816a527c)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It wasn't getting inlined in aeshash256_lt32_avx256() (used by VAES +
AVX512VL variant) due to a GCC __attribute__((target())) mismatch,
causing a major loss of performance compared to the VAES + AVX2 variant.
Comparing the throughput after this fix on an Intel Core i7-1165G7
(Tiger Lake) laptop, with qHashBits modified to statically select either
[A] aeshash256() or [B] aeshash256_avx256(), out of 5 runs:
dictionary numbers paths-small uuids longstrings
A/B (avg) 103.7% 101.1% 103.5% 104.5% 100.3%
A/B (best) 103.4% 100.9% 103.2% 103.6% 100.8%
Considering that a string representation of a UUID is 37 characters (74
bytes), neither "uuids" nor "longstrings" are directly affected by this
change. However, the overhead does change, with the aeshash256_avx256()
needing slightly fewer instructions to reach aeshash256_ge32().
Benchmarking on an Intel Xeon Scalable 4th Generation (Sapphire Rapids),
the "uuids" data set has a 10% performance loss for some reason.
Change-Id: I50e2158aeade4256ad1dfffd17b1b105d3cab482
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
(cherry picked from commit 6ab4623cad39bec935f76e366f3f262922bde94a)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 6a9be622707a485b1b5089e29d6902dc18ebbd3f)
(cherry picked from commit 2b718d5ca1dc3e79ad2b0080e9bae1cc6f7b3969)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QtIcoHandler::canRead() calls ICOReader::canRead(), which assumes that
QIODevice::pos() is at the position where the .ico data starts (i.e.
pos() == 0 if this is a separate .ico file). But if an AnimatedImage in
Qt Quick opens an .ico file, canRead() gets called multiple times:
the first is when QQuickAnimatedImage::frameCount() eventually results
in QImageReaderPrivate::initHandler(); then ICOReader::readHeader()
is called, which moves the file position. The second time is when
QQuickAnimatedImage calls QMovie::isValid(). At that time,
QIODevice::pos() == 6: we need to avoid calling ICOReader::canRead()
because it's no longer at the start of the data.
Without this change, AnimatedImage reports "Error Reading Animated Image
File" and doesn't show anything.
The fix is to store the known-good state, the same way that
QTiffHandler::canRead() returns true if its d->tiff already exists
(TIFFClientOpen() succeeded).
The test checks that it's ok to call QMovie::frameCount() first and then
QMovie::isValid(). Calling frameCount() has the effect of moving
QIODevice::pos().
Task-number: QTBUG-117429
Change-Id: Ie3a5225f2cea9a0d76d685e83ce4d4a10cbe9188
Reviewed-by: Eirik Aavitsland <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit 3f515fa7aff7cb24565f0bb61b16bb2bde6faf60)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit dc314851e70a4302d2988aa0e07aeaae19dec990)
(cherry picked from commit 1fb0a119ab60ebeb41d8825979f7e93ae185e8a9)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The code should consider that image may be created by
a pointer to user data, with original alignments.
It means that we the way of setting parameters from
raw data and QImage should be the same.
In Qt Multimedia we want to pass a zero-copy image
to rhi creation to get rid of an extra copy:
codereview.qt-project.org/c/qt/qtmultimedia/+/537062
Aslo, data align has been fixed.
Due to the documentation, GL_UNPACK_ALIGNMENT can
be 8, 4, 2, 1. Let's find the biggest possible align.
Task-number: QTBUG-121934
Change-Id: Ic0f1617d4699217a7549c13e916be96108183d03
Reviewed-by: Laszlo Agocs <[email protected]>
(cherry picked from commit 1d6bb23f6285252f7fa6cac87003cbe0f33f51af)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 07059d4d1d167b21fb83b27f85af3668f6587146)
(cherry picked from commit 9125f37017766892478b3da282f2700228be0b81)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This amends b646c7b76c7787cff57bca0fde04d9f58abdfbb8 .
Change-Id: Ic7183c06a93085d65b31c86380889b78c714548b
Reviewed-by: David Edmundson <[email protected]>
(cherry picked from commit f07d8309d6c61397677703cfa195927aee0cd50e)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 3e563542b389d1ccbbfc744695fd58ab3d06ecff)
(cherry picked from commit 455f9a0df8ab556379769b9bfece2f02511d70ff)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QLineEdit activates the blinking cursor timer when it's shown,
but never deactivates it, resulting in constant wakeups even for
hidden line edits.
Note that this is a workaround. Qt is supposed to send a focus out
event to line edits that get hidden. In some corner cases, it
doesn't, and only a hide event is sent.
Change-Id: Ic0645512051466ca9b1e84c54cef34c22287338b
Task-number: QTBUG-52021
Reviewed-by: Richard Moe Gustavsen <[email protected]>
(cherry picked from commit e35dcba5bb8cdcf578a514ad6e03ae64002c2c3a)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 43362244a1860bf20b87d3317c146fd8bb203be3)
(cherry picked from commit 78a3917b6bb9aab248cb1ddcc8888627bf063daa)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move static assertions for StandardButton and ButtonRole enums from
header to cpp file.
Use qToUnderlying instead of casting and assert types where possible.
Amends 773f9ab0189bbb439c3066695c947b11a20c484f.
Found in API-Review.
Change-Id: Ia52886e6e33a3b94b327d17d1453e18febe6dd50
Found-by: Giuseppe D'Angelo <[email protected]>
Task-number: QTBUG-119952
Reviewed-by: Marc Mutz <[email protected]>
(cherry picked from commit 4cd2baae9abc07200c70cb007ce12b800a786927)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 9ed3cc0b510f0bd1c3dd7dc3c78a893e0a3c90a4)
(cherry picked from commit 714bc6c4032c99c7e091e6047ab1ace0c0b1cdd6)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use the work-around for CMake issue #19005 for Makefile generators
and Visual Studio projects.
Fixes: QTBUG-120317
Change-Id: I3d15f23937133a5dd4d1c2a88af0fc34d5608a77
Reviewed-by: Alexandru Croitor <[email protected]>
(cherry picked from commit 654f3c5634ac9efc2257177351c8dea7c8d8875a)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 907497b87d7e0c4be96a06b817c5bf46f11ed110)
(cherry picked from commit 292811ec94500a6e08c7049e1a962c764c1cdf63)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Use qAddOverflow/qSubOverflow methods for catching additions and
subtractions with overflow and handle these scenarios when reading the
file.
* Add 'safeView' method that checks that the byte array view constructed
is not out of bounds.
* Return error if number of levels is higher than what is reasonable.
* Return error if number of faces is incorrect.
* Add unit test with invalid KTX file previously causing a segmentation
fault.
This fixes CVE-2024-25580.
Fixes: QTBUG-121918
Pick-to: 6.2 5.15
Change-Id: Ie0824c32a5921de30cf07c1fc1b49a084e6d07b2
Reviewed-by: Eirik Aavitsland <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit 28ecb523ce8490bff38b251b3df703c72e057519)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit de5820c3f822b3dc0444d4aed16c6146c06f175d)
(cherry picked from commit 115ea82fbceb3f013552c5e7d4280091defaeee2)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's not copied, and copying would probably be a bad idea, so make
sure it's not done inadvertently.
Change-Id: Ia7397906c0efb07ac5e079580bdbb15f4bf4911e
Reviewed-by: Kai Köhne <[email protected]>
(cherry picked from commit 3a2d8c5828efee9f182c260f55720d3bb6152893)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 0f840a4bdbd3dba4f384681a74673fc38842e9a5)
(cherry picked from commit 1c51df8033e3914ed536ae6b76ea6daa6687b855)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The LibraryMap can never contain an object whose fileName is empty.
To see that, observe that the only insertion into LibraryMap is in
findOrCreate() and that refuses to add such objects there.
But if LibraryMap cannot contain such an object, and findOrCreate({})
is just an ugly way to get a default-constructed QLibraryPrivate (a
new one for each call), then we don't need to lock the
qt_library_mutex to produce one, and neither do we need to construct a
mapName that we know we'll not find, anyway.
So drag this case to before the mutex locking and the construction of
mapName.
It took me more coffee than I'm ready to admit to figure this out, so
leave a comment for the next reader indicating that an empty fileName
is actually a valid argument.
To avoid repeating the new-expression, wrap it in a lambda, together
with the ref() call. Move the remaining ref() call to where it's still
needed.
The final goal of this exercise is to get rid of the double-lookup in
LibraryMap.
Change-Id: I781eafdb9516410d7a262ad27f52c38ad2742292
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit b28bad0b20719f72fb335a65f76382132e326ad0)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit fbb2bd0a25807210ca76022cc1c9e09de206bfc9)
(cherry picked from commit b08c20f62a6837eb806f42aa5973d1a546771214)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The mutable operator[] method was marked as inline only at the
definition, not the declaration. This is known to cause compilation
failures on MinGW when the function is used in other inline
implementation (cf. e.g. QTBUG-56459). It's not, atm, but fix the
issue proactively.
Manual conflict resolutions:
- also at(), ~~~Bit() and op[] const needed treatment in this Qt
version
- remove inline keyword on fill() outside class body for consistency
Pick-to: 6.2 5.15
Change-Id: If805122d9f8dbd72641173509c4b860c20fc1cdc
Reviewed-by: Fabian Kosmale <[email protected]>
(cherry picked from commit 7310d2bd5562d1a88b69a544ab9b88c13cc3f978)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 9d9b912adea3dd96cf51bb54b7a5586077009fe3)
Reviewed-by: Volker Hilsheimer <[email protected]>
Reviewed-by: Marc Mutz <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit a054691ac523e2c4f8cc846432399e73675296f2)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The class has a user-defined destructor, so it mustn't be copied or
moved (which here is the same as copying).
Amends 3c93286f08a80b6e1821d7d63d361742b25c6578.
Change-Id: I1b23588309654f34aedc0269e1d1c9511ddda2bb
Reviewed-by: Thiago Macieira <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
(cherry picked from commit 1b3c8d6e95a81d307a9f7bb556aabcf7fea04588)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit ac399ca897bd0eb25dd004ce65a482f53551098d)
(cherry picked from commit cfb884fe535fe4d083bc4f6b1630137e15bad448)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's not the _WITH_TIMEOUT variant (the timeout is missing).
Amends a change preceding b24bb12f6a93b98e9bc44c99e151b995eb7cea71,
the commit that moved all the documentation into qtestcase.qdoc in the
first place. I didn't track the change back further than that.
Pick-to: 6.2 5.15
Change-Id: I79ccd84a5dbed20012fa1a2d3561945f8a7638d5
Reviewed-by: Ivan Solovev <[email protected]>
(cherry picked from commit 4af3cf275fc9f5e721fab6b05fc05cf7bdbe5c99)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit a06a78bb045aba46fec470cce5590a95eab0a30f)
(cherry picked from commit 4994e92c097f495b105da5e0e4a103c1ceb72107)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(This turns out to be identical to v44, for our purposes.)
The CLDR license has been revised at v44 to "UNICODE LICENSE V3",
which is now included (as LICENSES/UNICODE-3.0.txt) in addition to the
old license (still in use, presumably, by UCD - at least until its
next update). Some new QLocale::Language entries are needed. There is
no change to the time-zone data.
Some tests needed changes:
* Various Arabic locales now use U+0623 (Arabic letter aleph with
hamza above) in exponent separator, replacing plain U+0627 (Arabic
letter aleph); it is still followed by U+0633 (Arabic letter seen).
* Where likely sub-tags used to fill in world, 001, as territory for a
language, they now (e.g. for Prussian and Yiddish) give specific
countries.
* Tamil locales now have something of a mix of inherited and localized
forms for AM/PM, which looks a lot like a mistake in CLDR.
Conflict resolution at 6.7: a test fixed in dev is not present in 6.7,
as it wasn't reworked or given the new test-case, so that's omitted.
Conflict resolution in 6.6: regenerated data using 6.6's scripts.
Conflict resolution at 6.6: regenerated data using 6.5's scripts,
dropped one change to data for a test added more recently.
[ChangeLog][Third-Party Code] Updated QLocale's data extracted from
the Unicode Common Locale Data Repository (CLDR) to v44.1. The license
changed to Unicode License V3.
Fixes: QTBUG-121485
Task-number: QTBUG-121325
Change-Id: Ide1a68016129526d7a5aa3fc67f1a674858696bc
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Mårten Nordheim <[email protected]>
(cherry picked from commit 063026cc503e0c02af781caf920f5abfa0416268)
(cherry picked from commit 41c786781ae3f75d02cf34c1b41e326181a03e38)
(cherry picked from commit 4f88c3e3ac3d201c2f6334770ce72677319d01b8)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unlike other containers, a QBitArray's size() is not limited by
storage, but, esp. on 32-bit platforms, its size_type: A INT_MAX
size() QBitArray only requires 256MiB of storage.
So we can't rely on "won't happen in practice" here and need to avoid
the potential UB (signed overflow) in the (d.size() * 8 - *d.data())
storage-to-logical-size calculation by using unsigned arithmetic.
Use the opportunity to Extract Method adjust_head_and_tail(),
centralizing the bit fiddling.
Pick-to: 6.2 5.15
Change-Id: I485eafdf3ce2087a81c683672ff98a43f97c9968
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit 78f8dfc5427457783ceef7d85885cddbec035ebe)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit e576d50d7cff3cacff6de576829577f391214e4b)
(cherry picked from commit b84c86b13628bad6ccc3ddee62048137f3d9099e)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Qt 5 streams cannot handle QBitArrays with more than INT_MAX bits,
even on 64-bit platforms, because of interface constraints (size_type
int).
Qt 6 can, so make sure to refuse serialization of oversized QBitArrays
to Qt-5-compatible streams.
[ChangeLog][QtCore][QBitArray] Now refuses to stream a QBitArray with
size() > INT_MAX to a Qt-5-compatible QDataStream.
Pick-to: 6.2
Change-Id: I263e27bd366757c8e0360dfd337948c44d00647a
Reviewed-by: Thiago Macieira <[email protected]>
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
(cherry picked from commit 9219e8ff1d13a7e9aeb595d60aa4b3767a8941fc)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 0985c707a960988cb046b7f810c4cf5788dba30f)
(cherry picked from commit 1e75a10294c850110e89532f99e12349b94c82f8)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When cross-compiling, host rcc might generate zstd compressed
resources, even though the target might not support zstd
decompression.
To avoid that, we made sure to disable zstd compression when using
cmake api like qt_add_resources if the target platform does not
support it.
We did not do it for CMAKE_AUTORCC though.
In such a situation, the linker would fail with:
error: undefined symbol: qt_resourceFeatureZstd
Add the --no-zstd option to AUTORCC_OPTIONS for targets that are
created by Qt CMake public API like qt_add_executable and
qt_add_library if the target platform does not support zstd
decompression (check via the QT_FEATURE_zstd variable).
This in turn applies to our own qt_internal_add_ API as well.
Allow opting out via the QT_NO_AUTORCC_ZSTD CMake variable.
[ChangeLog][Build System] Targets created with qt_add_executable
and qt_add_library will now add the --no-zstd option to AUTORCC_OPTIONS
when the target platform does not support zstd decompression. You can
opt out via the QT_NO_AUTORCC_ZSTD cmake variable.
Fixes: QTBUG-121948
Task-number: QTBUG-106466
Task-number: QTBUG-101353
Change-Id: Ibdcfecd9a4b1e206479a3f4588b1b624dd91e122
Reviewed-by: Alexey Edelev <[email protected]>
(cherry picked from commit 329dbfcc78d067d26b5a4dd99f4284900fd68f2c)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 2cf327be826251ad4b82d07366ba32f76fd800d9)
(cherry picked from commit 3738a2dc6742fa3303f114537de65893103d7ca5)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][Third-Party Code] libpng was updated to version 1.6.42
Pick-to: 6.2 5.15
Change-Id: Ie41c2df610fcd456af2bc4dee05dde90c426602b
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
(cherry picked from commit a046bc19e451f6f2e42ac1fcddaf5ef3efc81f0d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit cd59980f726b5254bd56197acc6f0cbe6d5f1f46)
(cherry picked from commit 85ac5cb9796f40cd01cf585978a7ad54cc75f23d)
|