Commit Graph

53917 Commits

Author SHA1 Message Date
Thiago Macieira
806545fcc8 QLoggingRegistry: add the ability to have environment variable overrides
Quite a lot of our code in Qt predating QLoggingCategory has manual
environment variable controls. For compatibility with established
documentation and tips-and-tricks out there, we should keep them working
when switching to categorized logging.

Change-Id: I3eb1bd30e0124f89a052fffd16a6c151d3e9d552
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-10-27 12:40:33 -07:00
Volker Hilsheimer
0c0892a3e2 Fusion: Consistent width calculation and rendering of menu items
The width calculation lacked the addition of the windowItemFrame
constant, which was added in the rendering code. This resulted in
ellision for long items.

To make the code easier to follow, const'ify, rename, and reorder some
local variables, and use constants from QFusionStylePrivate instead of
(now obsolete and removed) constants copied from the Windows style.

Break long lines as a drive-by.

Fixes: QTBUG-94481
Pick-to: 6.2
Change-Id: I6d3e9d0feebee58fc70beaaf29236b8473242083
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2021-10-27 20:08:33 +02:00
Volker Hilsheimer
05532a0968 Fix test to not rely on event processing
QTest's simulation of mouse move events currently uses QCursor::setPos
and then processes events. This is unreliable across platforms.

This test relies on the event processing and either way has inverted
logic in the paint event; the painted region needs to at least include
the tab's rect, not the other way around. Also, the mouse move wasn't
needed here at all, and some styles don't have a different style for
pressed tabs anyway.

Pick-to: 6.2
Change-Id: Ib8f6f7be017ff87458e96ec419edcd065dd75b15
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-10-27 20:08:33 +02:00
Alexandru Croitor
5ffc744b79 CMake: Allow disabling package version check
When building Qt repos, all find_package(Qt6) calls request a
PROJECT_VERSION version which is set in .cmake.conf via
QT_REPO_MODULE_VERSION.

This means trying to configure qtsvg from a 6.3 branch using a
6.2 qtbase won't work, because qtsvg will call find_package(Qt6 6.3)
and no such Qt6 package version exists.

There are certain scenarios where it might be useful to try to do
that though.
One of them is doing Qt development while locally mixing branches.
Another is building a 6.4 QtWebEngine against a 6.2 Qt.

Allow to opt out of the version check by configuring each Qt repo
with -DQT_NO_PACKAGE_VERSION_CHECK=TRUE. This setting is not
recorded and will have to be set again when configuring another
repo.

The version check will also be disabled by default when configuring
with the -developer-build feature. This will be recorded and embedded
into each ConfigVersion file.

If the version check is disabled, a warning will be shown mentioning
the incompatible version of a package that was found but that package
will still be accepted.
The warning will show both when building Qt or using Qt in a user
project.
The warnings can be disabled by passing
-DQT_NO_PACKAGE_VERSION_INCOMPATIBLE_WARNING=TRUE

Furthermore when building a Qt repo, another warning will show when an
incompatible package version is detected, to suggest to the Qt builder
whether they want to use the incompatible version by disabling the
version check.

Note that there are no compatibility promises when using mixed
non-matching versions. Things might not work. These options are only
provided for convenience and their users know what they are doing.

Pick-to: 6.2
Fixes: QTBUG-96458
Change-Id: I1a42e0b2a00b73513d776d89a76102ffd9136422
Reviewed-by: Craig Scott <craig.scott@qt.io>
2021-10-27 16:41:26 +02:00
Joerg Bornemann
9beae46b59 Fix treemodelcompleter example
All nodes in the view were at the top level due to a spurious trimmed()
call.

The condition in the indentation calculation was flipped, leading to a
segfault.  Also, the input data does not contain tabs.  Remove the
condition that checks for tabs altogether.

This amends commit 3fede6cb54.

Fixes: QTBUG-97727
Pick-to: 6.2 5.15
Change-Id: Ic5068ead755c4dae5f0607724ac7704cce03227c
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2021-10-27 16:34:44 +02:00
Øystein Heskestad
dece6f5840 Add missing macOS header file that was indirectly included before
Change-Id: I4d4c7d4f957fc36dea5e06eb6d661aeecf6385f1
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2021-10-27 16:34:44 +02:00
Joerg Bornemann
51cc8a7267 Fix QDebug operator<< for QMultiMap when Q_CLANG_QDOC is defined
This amends commit 8a8bf1b84e.

Pick-to: 6.2
Change-Id: If863d33d055e0a743606d11859b11c112de105f1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-10-27 15:00:31 +02:00
Morten Johan Sørvig
2c3cfa0ae7 wasm: remove sse2 config block
This breaks the build for qmake-based applications,
with the error

  Project ERROR: Could not find feature sse2.

Remove the offending section to make applications
build again.

Pick-to: 6.2
Change-Id: I0b22faa1d8d62e208d79879b822e21637bb03a3e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-27 12:00:06 +00:00
David Skoland
aa6405ee03 Adjust behavior of windowIsPopupType and hasTitleBar
The previous implementation did not check for the popup flag, so
it was added, and the tool window exception was preserved.
hasTitleBar was also changed so it checks for popups and not tooltips
specifically (tooltips are always popups).

Change-Id: I3e2ba3be56e992b30ca2a07375092073572e7fcb
Pick-to: 6.2
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2021-10-27 13:45:08 +02:00
Antti Määttä
ea3ede9c45 Calculate effect bounds when drawing widget graphics effect
Calculate effect bounds for the updated region when drawing the effect
so that the whole affected area gets updated. The effect bounds have
already been added to the region so it doesn't need to be handled in
the drawing function.

Pick-to: 6.2 5.15
Fixes: QTBUG-96240
Change-Id: I0c317311622e6299fb1a3015541408d1d83c93de
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-10-27 14:32:35 +03:00
Pasi Petäjäjärvi
11999a0aaf CI: Enable building autotests for QNX QEMU
Task-number: QTBUG-87628
Pick-to: 6.2
Change-Id: Id88daa2a08491b71d9d113ab02d0ca7806872a0e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
2021-10-27 10:30:02 +00:00
Pasi Petäjäjärvi
6c22f7e39c CI: Add QNX qemu support
* Script used to parse env variables and run test over ssh on qemu
* Script to start qnx qemu
* Script used to set env variables for ssh so they are correct in qemu
* Add b2qt sdk host toolchain to path for actual qemu binaries

Task-number: QTBUG-87628
Pick-to: 6.2
Change-Id: I951172211c2963654899491568771310a410e616
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-10-27 13:30:01 +03:00
Pasi Petäjäjärvi
c91b5dae9a QNX: Generate empty string for WORKING_DIRECTORY test wrapper
Tests for QNX are run in qemu over ssh and setting WORKING_DIRECTORY
will cause created test wrapper to try change specified directory
which will fail (expects local directory) when test is invoked over
ssh.

Task-number: QTBUG-87628
Pick-to: 6.2
Change-Id: If991002398811cc9cb9cbac54da5d2cb0d8c3589
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-27 13:30:01 +03:00
Chen Bin
6de36918c0 Update clipping area when antialiasing changes
Antialiasing is disabled when the painter's antialiasing attribute
is set behind the clipping function(example `setClipPath` or
`setClipRegion`). The cause of this problem is that the
antialiasing state of the clipping region is not updated after the
antialiasing attribute is set.

A variable is required to record the painter's transformation state
set before the clipping function, because the transformation will be
applied to the clipping region, resulting in the abnormal clipping
region. The value of `s->matrix` is not accurate for the clipping fun-
ction.

Pick-to: 6.2
Fixes: QTBUG-97269
Change-Id: I409a9db32efc3b991ebb97ec9aed19bbddb273d8
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2021-10-27 15:07:28 +08:00
Lorn Potter
3d89257ce4 wasm: fix window activation
This fixes window activation of dialogs and tooltips

In the case of tooltips, We were activating the window
being removed.
In the case of dialogs, we need to raise the window
before requesting the activation.

Change-Id: Ie989e6d92afedf1895b5e188f0695f6254d70272
Fixes: QTBUG-94918
Pick-to: 5.15 6.2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2021-10-27 14:42:41 +10:00
Rami Potinkara
b1820295e1 Revert "Android: Place cursor correctly on screen when editing"
This reverts commit 5c6b10c3ce.
It caused a regression such that the main window no longer resized or
panned when the VKB is shown, in spite of android:windowSoftInputMode
being set.

Pick-to: 6.2 5.15
Task-number: QTBUG-95300
Task-number: QTBUG-96117
Task-number: QTBUG-97503
Change-Id: If56e1113eea69a940f6760bdb2ad06a93a0759c1
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-10-26 20:46:24 +00:00
Mårten Nordheim
323b97ccae QHash: avoid crashing when reserving on a shared hash
Pick-to: 6.2
Change-Id: I21ad13fa223bd5a2c61112e790965093a2750268
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-10-26 21:56:31 +02:00
Thiago Macieira
e3f05981cb QHash: use the shadow seed
[ChangeLog][Important Behavior Changes] The qHash functions operating on
string-like types and the qHashBits function will now mix in a shadow
seed (not available in any API) if the provided main seed is not 0. This
means the hashing value for any particular input has an almost zero
chance of being equal in two different processes, even if processes of
the same application. This unpredictability makes QHash more strongly
resist denial-of-service attacks through degenerate hashing tables.

Change-Id: Id2983978ad544ff79911fffd167240196f7cd5c8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-10-26 11:38:56 -07:00
Thiago Macieira
0077eac4e4 QHash: double the size of the stored seed
There's now another half of the seed which will be used by the hashers.
This is not stored in QHash, so it is never changed for the lifetime of
the application (not even when QHashSeed::setDeterministicGlobalSeed()
is called). However, we will not use it when we're in deterministic
mode.

This commit uses the compiler thread-safe statics to implement the
initialization of more than one atomic word, thus freeing us from having
to have a reserved value. As a bonus, the QT_HASH_SEED warning will only
be printed once.

Change-Id: Id2983978ad544ff79911fffd16723f1673f9a5b4
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-10-26 11:38:56 -07:00
Alexey Edelev
6adaaa7745 Add internal property to store Qt namespace
In some cases it might be useful to use the value of Qt namespace in
CMake files. Currently the value is only stored inside Core target
compile definitions. This adds the internal property _qt_namespace to
the Core target and exports it.

Change-Id: Ic0454f0ce6b8c65b5a186981463d3977169b022e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-26 19:20:47 +02:00
Mårten Nordheim
f670e483c1 QNI: refactor to avoid tiny lambda slot objects
by just adding the parameter to the signal there's no longer a need for
the tiny lambdas that just call a getter.

Originally the idea was that, since the emission from Backend to the
'frontend' may be a queued emission, I wanted to use the getter so that
the data emitted from the frontend was as up-to-date as possible.
But on one hand, that's not really a big problem, and at the same time
it would then emit the signal twice with the same value.

Change-Id: Ief0959f8cbf06faf1b02a1ed4ae777181ff4f059
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-10-26 18:28:04 +02:00
Edward Welbourne
bb220f2d99 Fix overflow issue on parsing min-qint64 with its minus sign repeated
The call to std::from_chars() accepts a sign, but we've already dealt
with a sign, so that would be a second sign. Check the first character
after any prefix is in fact a digit (for the base in use). This is a
follow-up to commit 5644af6f8a.

Fixes: QTBUG-97521
Change-Id: I65fb144bf6a8430da90ec5f65088ca20e79bf02f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-10-26 17:38:22 +02:00
David Skoland
25e85ec45f Remove unused statements in QWindow
Change-Id: I91f0d23d22923f7c2b8c9099371288d226d541c6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-10-26 13:59:59 +02:00
Topi Reinio
cdf8fd5e86 Doc: Enforce zero warnings for QtCore, QtGui
Change-Id: I7b39f9bf8d7bc9c9c5c21c4bd648a86281162740
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-10-26 11:54:41 +00:00
Ivan Solovev
5f0e57ebc7 QObjectComputedProperty docs: move example to snippet
This patch amends 89a4c8d40d.
It moves the code sample into a separate snippet file, which allows us
to use Q_OBJECT macro in it without complaints from moc.

Task-number: QTBUG-97656
Pick-to: 6.2
Change-Id: I368d8dd8c00dbbebd8a6bf3788be796c8ca4bce8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-10-26 10:18:07 +02:00
Volker Hilsheimer
da632baf34 QTabBar: re-layout when tab size hint depends on selected state
QTabBar caches the rects for the tabs to avoid costly recalculation of
each tab's size hint. That cache is only updated via layoutTabs if the
entire tab bar is resized or modified. However, when a style sheet is
set that calculates a different size hint for tabs that are selected,
then the tab bar also needs to be laid-out when the current tab changes.

To minimize the cost, compare the cached size for the new current tab
with its new size hint, and re-layout the tabs when they are different.

Fixes: QTBUG-6905
Fixes: QTBUG-8209
Pick-to: 6.2
Change-Id: I110444d18938c2b3446ee58e4a8c6c472b5f12c3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-10-26 00:57:36 +02:00
David Skoland
0921caf976 wasm: Hide popups when a window is left-clicked
This logic is taken from the macOS platform implementation and seems
reasonable to reuse in WASM.

Fixes: QTBUG-90990
Change-Id: Id4a4dd8d9fdd9de3085bfcd9079793aad3dda363
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2021-10-25 22:17:39 +00:00
Volker Hilsheimer
01f96b1764 Don't fire shortcut if the action only lives in an unreachable submenu
Menus can be represented by a menu action, and if that menu action has
been hidden or disabled, then the submenu is not accessible from the
parent menu or menu bar to which it was added. Don't walk the menu
action chain further when checking whether the shortcut should trigger.

Note that this is unrelated to the menu being visible or not; we
obviously want to trigger shortcuts for actions that only live in a menu
that has not been shown, otherwise the shortcut would be rather
pointless.

Pick-to: 6.2
Fixes: QTBUG-25743
Change-Id: I48735e17352989bbc84a72263e4828f519b78095
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-10-25 17:17:40 +00:00
Joerg Bornemann
e022ff0a8e qmake/vcxproj: Fix "CONFIG += combine" extra compilers
Extra compilers with "CONFIG += combine" were broken for qmake's vcxproj
generator since forever.

Usually, extra compilers are handled by attaching the Custom Build Tool
to the input file.  This is not possible for combine extra compilers,
because they map multiple inputs to one output.  We cannot attach the
Custom Build Tool to the output either, because this would result in
circular dependency errors (output trying to create output itself).

To fix this, we create a custom build tool fake file (.cbt) for the
output and attach the Custom Build Tool there.  This is the same trick
we do for regular extra compilers that have C++ sources as
input (e.g. the one that generates moc_predefs.h).

Pick-to: 6.2 5.15
Fixes: QTBUG-94806
Change-Id: Ib808a43fead737df91b89a1ac5e180aeae37efae
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-25 18:10:43 +02:00
Joerg Bornemann
3681369120 qmake: Make some debug code actually compilable
Change-Id: Ia57b0d83ba3bf005d7d19e7958bb7131c7dc50b3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-25 16:37:38 +02:00
Ivan Solovev
89a4c8d40d Make QObjectComputedProperty documentation visible
QObjectComputedProperty belongs to public API. It's even referred in
other documentation (for example, QBindable).
It does not make sense to have its documentation marked as \internal.

Task-number: QTBUG-97656
Pick-to: 6.2
Change-Id: I6ca81292cfafea873dd3577fb0e5ddb583969dc3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-10-25 14:57:18 +02:00
Ivan Solovev
164e575673 Fix -trace build on Windows
The TraceLoggingValue template does not have overloads for Qt
types, so it was throwing multiple template instantiation errors
while trying to log the unknown types.
Fix it by serializing such types to QString using QDebug::toString,
and the logging this string.

Apart from that, fixes some other compiler errors on Windows build
with -trace enabled:
- implicit size_t to ULONG conversion
- complaints on std::min
- add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE to the generated
  *_tracepoints_p.h headers to fix the namespace build.

Task-number: QTBUG-97246
Fixes: QTBUG-97241
Pick-to: 6.2
Change-Id: Ifba134bab8d7fda7f1e30da9938e25cae813e1c6
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-10-25 14:57:18 +02:00
Ivan Solovev
2a72f0f15d Fix compilation with QT_NAMESPACE and tracing on Linux
The tracegen tool was not taking into account that Qt could be build
with a custom namespace. As a result, the combination of namespace
build and tracing enabled was not working, because tracegen generated
classes without the namespace.

This patch fixes it.
We cannot add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE because of the
tricky logic that recursively includes the generated header file
multiple times, also including the code like

static const struct lttng_event_desc *_TP_COMBINE_TOKENS(__event_desc___, TRACEPOINT_PROVIDER)[] = {
(hash)include TRACEPOINT_INCLUDE
    NULL, /* Dummy, C99 forbids 0-len array. */
};

where TRACEPOINT_INCLUDE is the path to the generated header.

This patch is using QT_USE_NAMESPACE, wrapped into some #ifdefs.
This should be safe, considering that the generated trace headers
are only used as private API.

The windows tracing support seems to be broken even in a
non-namespace build, so it's not handled in this patch.

Task-number: QTBUG-97246
Pick-to: 6.2
Change-Id: I12db76e199a3aa3abde641fbf99a6e1a3d7de203
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
2021-10-25 14:57:18 +02:00
Iikka Eklund
623e396e88 Change package_revision_mode() to recipe_revision_mode()
The package_revision_mode() is too strict for Qt CI.
This mode includes artifacts checksum in package_id which is
problematic in Qt CI re-runs (re-run flaky build) which contain
different build timestamps (cmake) which end up in library
files -> different package_id.

The effect was that Conan/Conan server is unable to re-use correct
binaries and re-builds (re-staged) dependencies.

Pick-to: 6.2 6.2.1
Change-Id: Id54af7455b948c8d68b7206d524f1d0fcfb7b568
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-10-25 15:47:46 +03:00
Assam Boudjelthia
cbc29dc16c Android: set EXTRA_TITLE to the initially selected file in save dialog
The extra data EXTRA_TITLE is only documented to be used to provide
the initially selected file name in the context of file dialog [1].
So, let's stick to setting it only in save mode. This also now allows
the save dialog to set an initial file name which wasn't possible
before.

[1] https://developer.android.com/reference/kotlin/android/content/
Intent#action_create_document

Pick-to: 6.2 5.15
Change-Id: Ib55191a7269bfad28af4928f4e74d87981bdd574
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2021-10-25 15:47:46 +03:00
Volker Hilsheimer
137ba2aba8 Initialize member variables before we check their values
Amends 51679efcf97dfea86431912eeb9489088c0804ed, which broke Ctrl+key
handling so that the key was not translated based on the alphanumerical
character anymore.

Fixes: QTBUG-97713
Pick-to: 6.2
Change-Id: I9835fd7af99693aae636ba3c4c114ef8e11621e9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-10-25 14:07:00 +02:00
Joerg Bornemann
1a44090df5 qmake/vcxproj: Fix malformed <Message> tags
Extra compilers and the command set to "\n" would result in malformed
<Message> tags in vcxproj files.  Those tags are used to display the
name of the extra compiler when building.  Setting the extra compiler's
command to "\n" is a common trick to force the creation of the rule.

Make sure to trim the command name that is created from the extra
compiler's command to avoid such new-line-only bogus message tags.

Pick-to: 6.2 5.15
Change-Id: I1bae28ed14c438d777f96280c6b2cf5ca315b51c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-10-25 10:10:08 +02:00
Ilya Fedin
6bf41058a6 Add a QNetworkInformation backend based on GNetworkMonitor
GNetworkMonitor can get information from 3 sources:
* org.freedesktop.portal.NetworkMonitor
* NetworkManager
* netlink

Change-Id: Icfafe6af42148f26360449f1262093ffc6b0613a
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-10-24 18:22:46 +04:00
Ivan Tkachenko
8896ef999b Doc: Fix formatting: remove extra \c before \nullptr
Change-Id: Ie93cf7253bdc6b70fd187c208da636fc551491c2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-10-24 13:15:51 +03:00
Mårten Nordheim
06d2a5cf61 Update windows version detection
Since the API still doesn't return 11.

Pick-to: 6.2 5.15
Change-Id: Ifd4f7f845915702fcbb0f857487358ae8e806273
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-10-24 07:50:02 +00:00
Thiago Macieira
4c50810a1a Remove old pre-6.0 hooks
Now only qt_startup_hook officially remains

Change-Id: Iac31783a62a040638d73fffd168aaaa7408c9be4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2021-10-22 19:12:07 -07:00
Venugopal Shivashankar
b6230421f1 Doc: Fix qdoc warnngs
qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:75: (qdoc) warning: Cannot tie this documentation to anything [qdoc found a /*! ... */ comment, but there was no topic command (e.g., '\fn', '\page') in the comment and no function definition following the comment.]
qt5/qtbase/src/gui/text/qtextformat.cpp:1500: (qdoc) warning: Overrides a previous doc
qt5/qtbase/src/gui/text/qtextformat.cpp:1487: (qdoc) warning: (The previous doc is here)
qt5/qtbase/src/gui/text/qtextformat.cpp:1533: (qdoc) warning: Overrides a previous doc
qt5/qtbase/src/gui/text/qtextformat.cpp:1520: (qdoc) warning: (The previous doc is here)

Change-Id: I5a089bef1841d6d69bff4c780805d20e5926fe6f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2021-10-23 03:08:58 +02:00
Venugopal Shivashankar
b50ee930c7 Doc: Fix qdoc warnings
src/corelib/kernel/qmetatype.cpp:1605: (qdoc) warning: Command '\snippet (//! [[implicit]])' failed at end of file 'qmetatyp>
src/corelib/kernel/qmetatype.cpp:1615: (qdoc) warning: Command '\snippet (//! [[member]])' failed at end of file 'qmetatype/>
src/corelib/kernel/qmetatype.cpp:1626: (qdoc) warning: Command '\snippet (//! [[memberOk]])' failed at end of file 'qmetatyp>
src/corelib/kernel/qmetatype.cpp:1639: (qdoc) warning: Command '\snippet (//! [[unaryfunc]])' failed at end of file 'qmetaty>
src/corelib/text/qbytearraymatcher.cpp:233: (qdoc) warning: No such parameter 'view' in QByteArrayMatcher::indexIn()
src/corelib/time/qdatetime.cpp:1854: (qdoc) warning: Can't link to 'QLocaleie:pmText()'
src/corelib/thread/qsemaphore.cpp:494: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text
src/corelib/thread/qsemaphore.cpp:505: (qdoc) warning: Undocumented parameter 'timeout' in QSemaphore::try_acquire_for()
src/corelib/thread/qsemaphore.cpp:505: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text
src/corelib/thread/qsemaphore.cpp:516: (qdoc) warning: Undocumented parameter 'tp' in QSemaphore::try_acquire_until()
src/corelib/thread/qsemaphore.cpp:516: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text

Change-Id: Ib612c69525ec7542f2ad3dd9a07e89f266718fd8
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2021-10-23 03:08:58 +02:00
Robert Löhning
a7d1c48ca3 QVarLengthArray: Reduce memory allocations in emplace()
Currently, we allocate memory for elements one by one which can get
pretty slow when adding many elements.

[ChangeLog][QtCore][QVarLengthArray] Reduced number of memory
allocations in emplace() by allocating more memory at once.

Fixes: QTBUG-97489
Pick-to: 6.2
Change-Id: Idfb5b5946b047d5215c8ed00770574249f9f5d40
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-10-23 01:22:15 +02:00
Gatis Paeglis
fdbf7cdd09 xcb: use QXcbConnection::selectionOwner() convenience API
Change-Id: I4fbae152829206b15bf0430d3fb2c9e2b6026566
Reviewed-by: Liang Qi <liang.qi@qt.io>
2021-10-22 23:30:07 +02:00
Gatis Paeglis
7f0e227d8a xcb: remove confusing indirections for qt selection owner
This makes it more obvious that clipboard and DnD use the
same selection owner (QXcbConnection::qtSelectionOwner()).

This way we can also drop some QT_NO_CLIPBOARD defines.
These defines actually are broken, but that is out-of-scope
for this patch.

And renamed the functions according to Qt guidelines:

getSelectionOwner()   -> selectionOwner()
getQtSelectionOwner() -> qtSelectionOwner()

The previous naming probably was influenced by underlying
C API - xcb_get_selection_owner().

Change-Id: I467f1a3dbe75b4e8fd41c7e66ca9b0e25ef1039c
Reviewed-by: Liang Qi <liang.qi@qt.io>
2021-10-22 23:30:07 +02:00
Liang Qi
e0938223c4 xcb: avoid to use invalid pointers
Pick-to: 6.2 5.15 5.12
Task-number: QTBUG-96399
Change-Id: I33909940b501cb13f78981c43f3aef9fc9d1d52d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-10-22 23:30:07 +02:00
Alexandru Croitor
606124c5cc CMake: Fix -rpath-link dependencies take two
The previous implementation would pick up static Qt deps of a
shared Qt library as packages to find, but packages are not
created for these static libraries in a shared Qt build.

For example Qt::BundledSpirv_Cross is a static helper lib
that is linked directly into ShaderTools shared lib and no CMake
package is created for it, so we shouldn't look for it.

Separate the code path to filter out private dependencies
of a shared library target that don't have packages.

Amends 87215c70c0

Pick-to: 6.2
Fixes: QTBUG-97673
Task-number: QTBUG-86533
Change-Id: I43490b4d20c150256ccfa8b511a6e0e6b0f4b313
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2021-10-22 22:57:46 +02:00
Mårten Nordheim
5ea712987b Update Gradle to 7.2.0 and Android Gradle Plugin to 7.0.2
The latest build-tools 31.0.0 requires AGP version 7.0+, and that
requires Gradle version 7.0+, so use the latest stable release for both.

[1] https://developer.android.com/studio/releases/gradle-plugin?
buildsystem=ndk-build#updating-gradle

Fixes: QTBUG-97002
Pick-to: 6.2
Change-Id: I8ff26819bdf1a00f484ecc194c4d4e7bca2b598a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-10-22 19:54:45 +02:00
Assam Boudjelthia
a81f24ada5 Rename deprecated ANDROID_SDK_HOME to ANDROID_SDK_ROOT
Pick-to: 6.2
Task-number: QTBUG-97002
Change-Id: I777491f542e5388e04ed4c1b7ff5d9db75f9e778
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-10-22 17:21:10 +02:00