This commit addresses a crash that occurs when the parent window is
destroyed while the view reference is still held. The crash happens when
the callback onAttachedToWindow is triggered and the
QuickView.createQuickView() function is called in native code. In this
scenario, the view reference is still pointing to the previous QuickView
whose parent has already been cleared, causing the crash.
To fix this, we reset the reference to 0 when the parent is deleted or
destroyed. This ensures that when onAttachedToWindow is called again,
the view is properly recreated after its underlying window has been
destroyed.
Fixes: QTBUG-138922
Change-Id: Ia39eb83b58af19cd9b881915215b2be2adcfee49
(cherry picked from commit 8194e979fc58f71244f625f320a797d4550524c9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e205d6b2ac)
(cherry picked from commit e893262b06)
With a change in qtdeclarative the QAccessibleTextInterface
also provides text for StaticText. This was missing but is
required for the accessible implementation on some platforms.
This leads to read out the text twice on iOS because the
value implementation did not check if the text is editable
and provides a value in any case. That is wrong for
StaticText because it has no value.
Task-number: QTBUG-137860
Pick-to: 6.8
Change-Id: I6ffa379159496c83590a57eb462b1540c9ec3404
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit a49629e169)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8f522387ac)
(cherry picked from commit b5240fc4d4)
Most commonly this would be a file, by way of the network disk cache.
The switch to use QSaveFile in the network disk cache in
e5f295c8a4 exposed the issue because
the leftover file objects were no longer deleted during
the cache trimming, so the handles were left open even if we
deleted the file.
The real issue, however, is that we did not notify the cache
that we were not going to complete the cache object, thus closing
the file object and deleting the uncommitted file.
That issue was probably introduced as part of
6f25051536.
Pick-to: 6.8 6.5
Fixes: QTBUG-135641
Change-Id: I4c185e4d6e44029e221e69e2ef7135b3710f1069
Reviewed-by: Jonas Kvinge <jonas@jkvinge.net>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 27f939da8f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit fd456b46cc)
Nothing to be deemed critical.
Changes in 6.9 cherry-pick:
- Moved the marking from apple network information plugin to
scnetworkreachability network information plugin.
Fixes: QTBUG-135724
Pick-to: 6.8
Change-Id: I6d33a7f2a16fa2c04261be954516fc05e1ea796c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 1534709d7e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 3c0cf576f3)
The palette in windows doesn't respect the colors as set in the high
contrast theme. This can lead to an issue as not reflecting the native
theme colors. This patch updates the windows theme palette with the
native high contrast colors.
Fixes: QTBUG-135964
Pick-to: 6.8 6.5
Change-Id: Ic1f6839046cb432fe33b4e79e611b36f542a0737
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 081062ea5e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit dba6b5c482)
On Qt 5.15 for VxWorks, exit on poll error was on by default. This
change brings it to 6.x.
Task-number: QTBUG-134546
Pick-to: 6.8
Change-Id: I660c17f4433cc0c77b8d8b6da80a6961c2cdfc98
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 0c848b70b0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 118a74cd80)
VxWorks needs to have some extra handling for process shutdown when
threads are involved.
So when poll fails e.g. due to filehandles being corrupted or because of
running out of memory, these errors are ignored. Instead of ignoring the
errors the they should be reported and the eventloop should be stopped
if poll_exit_on_error is set.
Task-number: QTBUG-138831
Pick-to: 6.8
Change-Id: I1ebef63569d2ff4a18603d4984bba4abc4f033e8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 18a6dc5cf1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit def384b2eb)
We want to ensure we don't introduce new build warnings in examples.
We have a mechanism to enable warnings as errors for qt targets like
modules or plugins, but not for targets in example projects.
To enable this, we introduce a new internal target
PlatformExampleInternal, which is linked to all targets created
by qt_add_executable and qt_add_library-like functions in projects
in the <repo>/examples subdirectory.
The detection of targets in example projects is done by checking the
QT_INTERNAL_IS_EXAMPLE_EP_BUILD variable or the
QT_INTERNAL_IS_EXAMPLE_IN_TREE_BUILD variable. These are set either by
ExternalProject_Add in the case of external example projects, or by
qt_examples_build_begin in the case of in-tree example projects.
The PlatformExampleInternal target gets the same warnings as errors
flags as the other Platform*Internal targets.
To enable gradual adoption, the new feature is opt-in rather than
opt-out, on a per-repo basis. The QT_REPO_EXAMPLES_WARNINGS_CLEAN
variable can be set to TRUE in a repo's '.cmake.conf' file.
The warnings as errors behavior is controlled as usual by configuring
qt with -DWARNINGS_ARE_ERRORS=ON.
Pick-to: 6.8
Task-number: QTBUG-108448
Change-Id: If62b47b205c111f2a1fec791e5bb6502f5b64f9c
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 26f8dff7da)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 0c63426e66)
Inside the QAnyStringView class, the class is incomplete, and will
erroneously fail SFINAE. Do the assert after for it to actually work.
Detected with gcc 16.
Amends 2c9529e158.
Pick-to: 6.8 6.5
Change-Id: Ifd3ad6d3ec17cd1725fb8b735469502791f9e9a3
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 2723015721)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit aa68e9a072)
Revert resetting the tooltip palette mask (added as part of patch
4cf92d83c3) as it doesn't allow to set the
tooltip palette from the platform theme (for instance, setting high
contrast theme palette for tooltip).
This patch also make the style sheet style to override its palette over
the widget palette when set, otherwise use the widget palette.
Task-number: QTBUG-135964
Pick-to: 6.8 6.5
Change-Id: I0da0a09993de37691149fdeed6b9be5ff9964107
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit f0f45d1bcd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 381861466f)
It parses .qm files, and even contains a byte code interpreter for
picking the correct plural form.
Even though .qm files are considered to be a trusted part of the
application, trust isn't a determining factor for security
criticality.
A user of QTranslator depends 100% on the component to do its job of
parsing data external to the process, with no error reporting other
than a bool. This makes the component security-critical.
The two header files only contain declarations, so are
security-significant (the default) with reason:header-decls-only.
Task-number: QTBUG-135190
Pick-to: 6.8
Change-Id: If6778fea42a60e4414624e7aaffb569583cebdd6
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 24c731eb27)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 4375540ee4)
Remove DPI scaling from touch points:
Window fills Android screen even if window is resized.
QHighDpi::toNativePixels() returned global screen space coordinate
of a point in the window with size 200x200 (local coordinate).
This caused touch point to land out side of the child widget.
Fixes: QTQAINFRA-6892
Change-Id: Ib03838bfbbf8282bf3bccbc44c7e326373f37e9a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit e75b50f0dc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9fd6911159)
The default: case label prevents the compiler from complaining about
unhandled enumerators in QueryType, of which there are six in this
case.
Add them explicitly and remove the default as a static assertion
(assuming -Werror=switch is enabled; which is the case at least for
-developer-build) that all enum values are handled.
Amends the start of the public history.
Found while fixing Coverity issue 455893.
Coverity-Id: 455893
Pick-to: 6.8 6.5
Change-Id: Ia9711422cb5495f3322d8ad4701cbb4f35755474
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 9dbee22536)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6f807fdf9d)
std::is_void is available since C++11, the same as std::is_same, so
use it.
Amends 1005c86c61,
44ceb56455 and
90d9a86c2e.
Found while fixing CID-87769.
Coverity-Id: 87769
Pick-to: 6.8 6.5
Change-Id: I7ae296b53e215ef33f923ac7aff2623de879f70e
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 642d747f17)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 07e7148910)
Coverity complained that the default ctor didn't initialize the
iterator's data members, and it's correct, of course.
What makes matters worse: by implementing the default constructor like
that, we break the C++ guarantee that value-initialized iterators must
compare equal.
Fix by = default'ing the constructor. That leaves default-construction
to establish only the partially-formed state, as before, but
value-initialization now creates a well-formed object, ready for
equality comparison.
Add a test.
Amends the start of the public history.
Coverity-Id: 87769
Pick-to: 6.8 6.5
Change-Id: I4d7af36937946dd58d52aaafae4dd48a60c00cf0
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 646c134e4c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 926b3c3a72)
The m_n member is not read in normal operation when m_sem is nullptr,
but since move-assignment to the default-constructed object (a valid
operation even on partially-formed states) reads this value
uninitialized as part of the move-and-swap, we need it initialized,
because otherwise it's UB.
Amends f0ee4ed0a2.
Coverity-Id: 483737
Pick-to: 6.8 6.5
Change-Id: Ifd200877cef693110832675b6e172bc083372d4f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 84b37e96fc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit afc96ecb31)
The old code used a blanket 64 byte buffer and strncpy()'d a locale
name into it for separator normalization ('-' → '_') followed by
lookup into windows_to_iso_list.
But the latter has space for only five character (excluding the
terminating null), so any matching string must needs be less than six
characters in size, so check and reject such inputs very early in the
function.
Then, reduce the buffer size to what windows_to_iso_list uses,
too. This means the strncpy() is guaranteed to write the terminating
null, so we can skip doing it manually, and it won't waste time
filling the remaining 58 octets of the buffer with null bytes anymore
(which it did!).
Now that both buffer sizes match, we could almost use memcmp(), but
the table isn't ready, yet, so that's left for a different patch.
Add some code comments.
Amends c17563eca8 (though that might
have just moved existing code around; didn't check).
Pick-to: 6.8 6.5
Change-Id: I715d5435aed874ce7141ff25c2753e0886184516
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit a5a0c18d0a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f7e0005d06)
The old code called QList::erase(it, it) in a loop; which causes
quadratic behavior.
Fix by writing a std::unique-inspired merge algorithm that works in
linear time, at the cost of merging only pairs of consecutive
STRING_LITERALs. The old code tried to merge maximal sequences of
adjacent STRING_LITERALs. This should not make much of a difference,
since QByteArray grows geometrically, so appends (and insert at end -
1 is almost append) take amortized linear time in the final size of
the result.
Symbol is a QByteArray version of QStringRef (i.e. a cheap substring:
string, from, len), except with individual copies of the underlying
string, so make sure to rid Symbol::lex of non-lexem() data before
merging. Aurélien reports that `lex` may contain a whole file, so this
is an important step.
Aurélien reports a 6x speedup on one of his benchmark files.
Amends 0c9d1f99da.
Reported-by: Aurélien Brooke <aurelien@bahiasoft.fr>
Done-with: Aurélien Brooke <aurelien@bahiasoft.fr>
Pick-to: 6.8 6.5
Change-Id: I1093a43c3727fde1785795b1aac7417be011bad8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Aurélien Brooke <aurelien@bahiasoft.fr>
(cherry picked from commit 4f3a8a8d68)
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 5fb92199d6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This is borderline significant-only, because we only do minimal
processing here, and only on Android and WebAssembly (on other
platforms, we merely delegate to C's vsnprintf()).
But if you asked 100 programmers whether snprintf() is
security-critical, you would probably get 95 "yes" back, so mark it as
such. It's small, after all. Better safe than sorry.
There is not dedicated header for this TU (the functions are declared
in qbytearrayalgorithms.h, whose marking is for a separate patch).
Task-number: QTBUG-135195
Pick-to: 6.8
Change-Id: I45eaf0f240a57d92a71f83a7cd87b4d77dffe883
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
(cherry picked from commit d08c7d9c97)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 3ceb7d07c2)
The old code didn't use QStringList::removeDuplicates(), because it
still needs the QDuplicateTracker for later. It, however, used a loop
around erase(it) (or Qt's equivalent for indexed loops), which makes
the loop have quadratic complexity, instead of std::remove_if(),
which is linear.
Fix by using QList::removeIf() instead (which is std::remove_if()).
There are more insertion-in-the-middle problems in this function,
filed QTBUG-138851 so they're not forgotten.
Amends 2c39365aad, though I'm sure the
old code had a similar problem, just buried deeper. This patch won't
apply there.
Task-number: QTBUG-138851
Change-Id: I5748822bd99dac7cdbd2c1deaec348a82194e994
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 7530a86df8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 50b054eebc)
The old code used QStringTokenizer to tokenize a string in a loop, but
unconditionally exited the loop after the first iteration. There's a
comment saying we're only interested in the first element, but I
remember raising my eyebrows when I saw this code for the first time.
Now I found that Coverity agrees and flags this as "structurally dead
code".
Fix by using indexOf() + truncate() on the string instead of
tokenize() or (before 0108275b0c)
split(). Since qEnvironmentVariable() returns an unshared QString,
this is a cheap operation even on an owning container, so we don't
need to use views.
Amends 0108275b0c for the Coverity
warning, but the code before that was even worse: split().first(), so
I'm going with amends 897e19f95e here.
Coverity-Id: 444295
Pick-to: 6.8 6.5
Change-Id: I162bb58003eb18fa533199a6941455294f9d3b07
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit e5c207f962)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 98a9a287a4)
QStringList::replaceInStrings() returns a reference to *this, so the
re-assignment to *this is unnecessary.
If one nevertheless does it, the RHS binds to the copy assignment
operator, which, for QList, is copy-and-swap, so it's
self-assignment-safe, but ups and downs the ref-count needlessly.
Remove the assignment.
Amends 4431ffa8b9.
Pick-to: 6.8
Change-Id: I2e44b4ac302b1d9193d29e41bdbfc775d4682457
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit e1ecc3ae11)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit bea563a7c5)
For some reason, iso_name values shorter than the maximum of five
characters (excluding the terminating null) were "propped up" using an
explicit embedded \0 and two spaces.
This is weird, because it's extra work compared to the default of just
writing the shorter string literal and letting the compiler fill the
rest with null characters.
It also prevents use of memcmp() in lieu of strcmp(), because while
the spaces following \0 are "invisible" to strcmp(), they'd be visible
to memcmp().
Change such entries to use the shorter canonical form.
This enables the use of memcmp() instead of strcmp(), because both
buffers (the one in the table, and qt_inIsoNametoLCID()::n) are now
zero-extended (the former by the compiler and the latter by
strncpy()).
Even if we compare strictly more characters now (strcmp() would have
stopped at the first embedded null, memcmp() keeps going), the small
size of the buffers and the constant length of the range make this
potentially much faster.
Amends the start of the public history (for the format of the table).
Pick-to: 6.8 6.5
Change-Id: Id760fba81f28710f0ee19a303426f3706c00dad6
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit afc9612699)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6ce33b7f45)
Right now only Q_NO_SYMLINKS is defined on VXWorks, whereas
Q_NO_SYMLINKS_TO_DIRS isn't defined anywhere that I can see. I think
it's a left-over from 95cebd34eb (which
removed Symbian-specific code from qtbase tests).
Pick-to: 6.8 6.5
Change-Id: I6a30aaefc1c04f6c6033961703e24070abfb4542
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit fb9591bf49)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e24df3dca1)
Coverity complained, and it's trivial to see, that a move is missing
in the assignment of local 'converted' to 'digits'. It's trivial
because the scope of 'converted' ends right afterwards.
Coverity complains about more missing moves in qlocale.cpp, but the
others are more complicated, so need a separate patch.
Amends ed2b110b6a.
Coverity-Id: 427079
Pick-to: 6.8 6.5
Change-Id: Ic124b2c9d9318cc7194d2f2affc8bd522be53fc7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit fe278b9551)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2680b043d2)
Handle all supported formats to set the namespace under build.gradle,
this include cases where the name is using single or double quotes,
and when using an equal sign or space separator.
Fixes: QTBUG-138864
Pick-to: 6.8
Change-Id: Ib1381525ef85ab112cde5f4086065cf2af72b670
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit e21b5c140e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ccfd1155b5)
Android support was missing and the QAccessibleAnnouncementEvent had
no effect, this implements its support on Android.
Task-number: QTBUG-75003
Task-number: QTBUG-135413
Pick-to: 6.8
Change-Id: Ic51920f7181c84ee54c729cb50b9b1418e208afd
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit a4cc955cb9)
(cherry picked from commit 590637791e)
Coverity (rightfully) points out that LocaleChange was aleady handled
before the switch statement and so the `case LocaleChange:` is dead
code. It does not realize that the Q_ASSERT(false) is meant to mean
"unreachable".
Attempt to fix by using The Real Deal™, ie. Q_UNREACHABLE().
Coverity-Id: 455893
Pick-to: 6.8 6.5
Change-Id: I134256eb1b683e18dc0c1770df2601aae1eaf7e3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 66cc853035)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ae787e7258)
In many cases, the result of the lexem() functions is only used as a
view and is not stored. To avoid constructing thousands of temporary
QByteArray instances, introduce lexemView() and unquotedLexemView() that
return a QByteArrayView instead.
6.10 changes compared to the original commit:
This is a partial cherry-pick, only adding the new API, but only one of
its usages (each). While there is no conflict when applying the change
to older branches, there have been a few changes to where we use views
and owning containers. Picking back the full commit would risk
referencing (temporary) QBAs, instead of QBAVs pointing to (longer
living) data. We still want to pick pack the new view API to use it in
an upcoming change which fixes a quadratic complexity issue.
We still add some usage to prove that the code actually compiles and
passes tests on older branches.
Pick-to: 6.8 6.5
Change-Id: I55e389f7602ac42d3e2f83b38161286d5c17bb48
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 3babea74b2)
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit daa58ea4f2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
It was declared, but never used. Remove it.
Amends fcd2a219c4, which removed the
last user of the variable.
Pick-to: 6.8 6.5
Change-Id: Ica20677284a828a77785b6a668c58797e02d7bed
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 8a6c40ffc3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit cead8a0655)
Fix flaky tst_QMenuBar::check_menuPosition on Ubuntu by replacing the
hardcoded 0 in w.move() by availRect.x() to ensure that the menu
position is valid.
Unblacklist tst_QMenuBar::check_menuPosition on Ubuntu 24 and on
Ubuntu 22 as it is no longer flaky.
Fixes: QTBUG-126498
Fixes: QTBUG-68865
Pick-to: 6.8
Change-Id: I7fc55afc8e9ba7bc9dfbc7e903ca58408e6c8faa
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit d97f65a3f2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 91ad8cce00)
Cleanup the thread local instance of the QUnifiedTimer when
the QCoreApplication::aboutToQuit signal gets emitted.
This should make sure the QUnifiedTimer for the main thread
is destroyed and doesn't try to run any AnimationJobs which are
already deleted.
Fixes: QTBUG-136629
Pick-to: 6.8
Change-Id: Icd23c362ce2812beb83eddb45aa693e24292e13f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit ae84310e27)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit bb35496ae4)
objc_namespace.sh had been removed from Qt, as it stopped working with
recent XCode, however the qmake prf file was still around and
referencing it. We can remove the relic as well
Amends 6404714183
Task-number: QTBUG-132398
Pick-to: 6.8
Change-Id: I9fc63751a5e3c118b9f1e13799920784d11d18d9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit bf22d42b86)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 4cc64fed2c)
Otherwise comparisons of current > QOperatingSystemVersion::MacOSSonoma
will trigger for 14.1 and above, instead of 15 and up. The expectation
is that the constant represents the major version.
[ChangeLog][macOS] QOperatingSystemVersion constants for macOS 11
and up are now represented with their major version only, and minor
and patch versions unspecified, as documented.
Task-number: QTBUG-107907
Pick-to: 6.8 6.5
Change-Id: I62dbac54f6b37b5797459c30c326706341b403a9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 57ada89c04)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1f46780405)
Amends 2fea6bbe8e, which moved the
construction of the event object after the QPlatformWindow::geometry had
been updated already. Since the constructor takes that stored geometry
to compute the requested geometry, this resulted in a behavior change.
Fix this by adding a constructor parameter that takes the requested
geometry, and move the High-DPI mapping consistently to the call-site.
As a drive-by, replace const QRect & parameters with QRect values, as
QRect is small and trivially copyable/movable.
Task-number: QTBUG-136045
Pick-to: 6.8
Change-Id: Ie44060d299dac9b63b8b6ba8c1e07f3e422dbe03
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Viktor Arvidsson <viktor.arvidss@gmail.com>
(cherry picked from commit a6f30f34ec)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5cbebd3158)
For historical reasons, qdoc sees a different declaration of
QWeakPointer than the compiler, and when we removed deprecated members
from the latter in e40320c552 for Qt 6.0,
we evidently forgot the former.
Remove those now from the declaration that qdoc sees as well, so that
we don't claim that they exist as deprecated members.
Pick-to: 6.8 6.5
Change-Id: I1167a9317df727054c0b0bc447083d64b59087bc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit bd0fa8b0d3)
(cherry picked from commit f5c9cd0d43)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Making the code a little more IDE friendly by populating IDE projects.
Pick-to: 6.8
Change-Id: I7071e1072d5dec710d633078f567c282c75f212b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit d7097efcb8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 262f92b30a)
The very first line converts the pointer into a reference, so just pass that.
Amends 0c9d1f99da.
Pick-to: 6.8 6.5
Change-Id: I3e8c863996fb6f2d35533f216336459ae547ba57
Reviewed-by: Aurélien Brooke <aurelien@bahiasoft.fr>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit a7bd2ab43c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f7e1b2a852)
Allows pages in qtdoc to link to the section with a stable anchor.
Pick-to: 6.8 6.5
Task-number: QTBUG-138527
Change-Id: I086f76be542b3667e72c6bc231e581f123b08368
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 16d9ed713a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 00ab4f922e)
We don't need to go through the platform window and handle native
pixels conversion because QWindow::safeAreaMargins() already does that.
Fixes: QTBUG-138157
Change-Id: I11ec493d1b3a55628a27632fa94b3d14e3f30a50
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 0f3a6349f6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b141a68a14)