Commit Graph

37522 Commits (2cc458abfb2ab252d34bbdedcecf73ebd19335e5)

Author SHA1 Message Date
Volker Hilsheimer 2cc458abfb Document QLocalSocket::socketOptions as a property
Change-Id: Ifda55ac7afb3fb30d973a01104b012959ae285ab
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
2021-04-13 10:48:01 +02:00
Volker Hilsheimer aab6d336f7 Fix qdoc warning, it's QThread::Priority
Change-Id: If3df55ff95f8bdb510bdc3578ba3c7c03b9029a1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-12 23:53:01 +02:00
Volker Hilsheimer 2bdaf28034 Don't disable menu items that belong to the active modal window
A popup/context menu created via QQuickPlatformMenu doesn't belong to any
menubar, so by disabling items in a menu that doesn't belong to the currently
active menubar (5b9f6862b1), we disabled all menu items in a QQuickPlatformMenu
when a modal window was active.

For such unrooted menus, use the QCocoaMenuObject data structure to record
which window it is shown for, and only disable items if that window is not
also the current modal window.

Amends 5b9f6862b1.

Fixes: QTBUG-92040
Pick-to: 6.1 6.0 5.15
Change-Id: I56b6d579e5e94689b43ca84d4637e35dc2cbeb4c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-04-12 19:30:12 +00:00
Qt CI Bot a91728b4e8 Merge integration refs/builds/qtci/dev/1618240808 2021-04-12 18:06:39 +00:00
Qt CI Bot e5d8e2ae6e Merge integration refs/builds/qtci/dev/1618233601 2021-04-12 17:08:06 +00:00
Volker Hilsheimer 3fa778142a Silence qdoc warning from deprecated enum value
The mis-spelled value doesn't need documentation.

Pick-to: 6.1
Change-Id: I709abdca1d515902b3a12d3c5a5b62809d1f9a8b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-04-12 15:19:41 +00:00
Mårten Nordheim b1fe3e3d80 QNetworkInformation: Private the destructor
It wasn't meant to be public.

Pick-to: 6.1 6.1.0
Change-Id: Ifa7fff48f82b96bdfa277677d3988dc8881b8c2a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-04-12 17:19:41 +02:00
Qt CI Bot 6a17a8ba84 Merge integration refs/builds/qtci/dev/1618228407 2021-04-12 15:19:40 +00:00
Mårten Nordheim b67fe6dc7d QNetworkInformation: Remove the default argument
And the code for loading whatever backend is sorted first.
Though, looking at the code it would've never returned 'true' anyway.

Pick-to: 6.1 6.1.0
Change-Id: I7bc2c740e8cb5343e5843cb1d65715d236b92a25
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-04-12 15:18:45 +02:00
Mårten Nordheim 5a60657363 QNetworkInformation: make supports(...) not virtual
Pick-to: 6.1 6.1.0
Change-Id: Ib8d27410e6baa495a7351a57c8c1c1b30a64eb26
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-04-12 13:21:17 +02:00
Mårten Nordheim bb85831e4d QtFuture::connect: disconnect signals first
During reportFinished we may call a continuation which might end up
triggering one of the signals.

Pick-to: 6.0 6.1
Change-Id: I19546fcca12be71cd536e4287eb5eddd9d236830
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-04-12 12:37:40 +02:00
Mårten Nordheim b86176abf6 QtConcurrentIterateKernel: fix warning
src\concurrent\qtconcurrentiteratekernel.cpp(134): warning C5055: operator '*': deprecated between enumerations and floating-point types

Pick-to: 6.0 6.1
Change-Id: I934e767e77e9393e1da3adc390dc8e252e7f5b6a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2021-04-12 10:31:54 +00:00
Albert Astals Cid 17db162949 doc: Fix typo
Pick-to: 6.1
Change-Id: Ia4219d06e306b2abd2ac0977cac63ce0492c6397
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-04-12 09:57:59 +00:00
JiDe Zhang c9bbc025f0 Add "QT_DEPRECATED_VERSION_XXX" macros
Since 6.3 to 6.6, for which version add "QT_DEPRECATED_VERSION_X_6_"
and "QT_DEPRECATED_VERSION_6_" macro.

Change-Id: I10c77b1ed436ce3442960f5594f86a3a3be181f2
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-12 10:03:26 +08:00
Niclas Rosenvik 7266bd459e Fix GLX on non-linux X11 systems
Some parts of the GLX code is only enabled for Linux. This makes
builds on other X11 supported platforms break when GLX is found.
To fix this enable these parts of the code when Qt feature
xcb-glx-plugin is enabled. xcb-glx-plugin has to be made public
in order for QT_CONFIG(xcb_glx_plugin) to work correctly in
these parts of the code.

Change-Id: I6bf78b6a64787ed88c8e2fae40675244c9198c37
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2021-04-11 12:49:04 +00:00
Mike Achtelik 67c3f3f4ff Android: Bump gradle (plugin) versions
Android Gradle plugin 4.1.3 is compatible with the new <queries>
declaration for package visibility on Android 11. If someone adds the
<queries> element or starts relying on a library or SDK that supports
targeting Android 11, they might encounter manifest merging errors when
building the app.

This is important since starting August 2021 the PlayStore requires new
apps from targeting Android 11. So lets update to the newest
Android Gradle plugin version.

This also reverts 1e4dec12d5 as AGP 4.1
requires at least buildToolsVersion 29.0.2.

Change-Id: Id8ce5dadeb8a325dc9f901503946f325f3fd18a0
Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2021-04-10 14:08:07 +02:00
Qt CI Bot 922fbfd2ba Merge integration refs/builds/qtci/dev/1617996746 2021-04-09 21:23:22 +00:00
Niclas Rosenvik 1b7f1aad40 Fix generating mimedatabase with generate.pl using make
When building using make and having set QT_AVOID_CMAKE_ARCHIVING_API
to ON the build breaks with the message "sh: cannot create
.rcc/qmimeprovider_database.cpp: directory nonexistent" .
ninja creates this directory automatically, make does not.
Add a file MAKE_DIRECTORY cmake command to make sure the .rcc directory
is created.

Change-Id: I140279a794753436d427d647ab2231636827d07f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-09 19:30:57 +00:00
Thiago Macieira 183df80b9c QCoreApplication: improve docs on exit() and quit() thread-safety
Reporter of QTBUG-91771 was confused.

Pick-to: 6.1
Change-Id: I26b8286f61534f88b649fffd166c4368167a5638
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2021-04-09 18:10:00 +00:00
Thiago Macieira 2e6c37fe51 QCoreApplication::exit: make it a slot
The documentation even refers to it as such. Instead of refactoring the
documentation to explain that it isn't, just make it a slot.

[ChangeLog][QtCore][QCoreApplication] exit() is now a slot, like quit().

Pick-to: 6.1
Change-Id: I26b8286f61534f88b649fffd166c43afbb80927f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2021-04-09 11:10:00 -07:00
Allan Sandfeld Jensen c2348e2c7a Fix futexNeedsWake() on 64-bit systems
It was mistaking semaphore values over 0 as waiters, regardless of
actual waiters.

Pick-to: 6.1
Change-Id: Icebd01592ca8bdc1687a29dc569e3b630a262606
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-09 17:58:15 +02:00
Eirik Aavitsland f3a042c5ab Fix read-only pseudo-state in QPlainTextEdit stylesheet
Was implemented for the other text edit widgets, but not for
QPlainTextEdit.

Pick-to: 6.1 6.0 5.15
Fixes: QTBUG-92490
Change-Id: Idd2a1b5c743fc030d3f2d4dd24e98f806b58f4d9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-04-09 09:44:21 +02:00
Qt CI Bot d74261b594 Merge integration refs/builds/qtci/dev/1617904724 2021-04-08 21:14:09 +00:00
Qt CI Bot f35bf993ce Merge integration refs/builds/qtci/dev/1617895155 2021-04-08 20:33:13 +00:00
Qt CI Bot 4e9f6abd62 Merge integration refs/builds/qtci/dev/1617891528 2021-04-08 19:49:42 +00:00
Qt CI Bot 7d37ce8832 Merge integration refs/builds/qtci/dev/1617887904 2021-04-08 18:53:33 +00:00
Alexander Volkov 9667ac1c2d Call statx() with AT_NO_AUTOMOUNT
Otherwise it can be very slow in some cases (e.g. 0.5 sec).
Besides, AT_NO_AUTOMOUNT is used by {l,f}stat() internally.

Pick-to: 6.1 6.0 5.15
Change-Id: Iae9c8b46dcdc96d21ac6b114a51c382b4949d3dd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-08 17:57:36 +00:00
Qt CI Bot 9690e7bdd3 Merge integration refs/builds/qtci/dev/1617880670 2021-04-08 16:21:16 +00:00
Niclas Rosenvik 7d3434f970 Fix environ build break on FreeBSD
QMAKE_LFLAGS_NOUNDEF = <EMPTY> for FreeBSD did not get converted
to CMakeLists.txt. This breaks the build on FreeBSD since environ
is missing from libc, it is available at runtime.
Turn -Wl,-no-undefined into warnings on FreeBSD to fix the build.
Also add a comment based on the one from corelib.pro .

Change-Id: I3835884a2682af0f68a4d65dede3e4e5d4104ac8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-08 15:17:28 +00:00
Alexey Edelev bbe26a7667 Skip adding externally added plugins to the plugin meta-sets
Plugin meta-sets are not visible outside of the module build tree, so
there is no point in adding dependencies for externally added plugins.

Change-Id: Ica5b29b57c032f4fc9b128172aaa806392e9e581
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-08 16:15:54 +02:00
Qt CI Bot 5c969aeab1 Merge integration refs/builds/qtci/dev/1617874569 2021-04-08 14:15:53 +00:00
Andy Shaw f64201c493 Set QGuiApplicationPrivate variables after platform window is destroyed
By setting these variables after the platform window has been destroyed,
it will enable any platform specific code to handle changes in terms of
focus and so on before the destruction of the window changes these
directly. For example, this will prevent a problem with iOS where it
keeps track of the current focus object as the signal indicating that
the change to focus will still be emitted. This is before the variable
is set to nullptr if there is no parent window.

Change-Id: Ie540c10760d06dc62e163ccf6f6edea200b43bbf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-04-08 14:27:57 +02:00
Alexey Edelev 70464b355e Specify QT_TESTCASE_BUILDDIR for Qt::Test users implicitly
QT_TESTCASE_BUILDDIR was implicitly defined by Qt::Test target for
library users in Qt5. By default, this definition will point to
CMAKE_CURRENT_BINARY_DIR. This logic works similarly to qmake logic.

From user's perspective it might be useful to not rely on standard
search paths, but specify own. This can be done by setting the
QT_TESTCASE_BUILDDIR property for the user's target. CMake will
substute the value of the QT_TESTCASE_BUILDDIR property into the
QT_TESTCASE_BUILDDIR definition.

The implicit QT_TESTCASE_SOURCEDIR also seems to be useful. According
to the current logic, it points to CMAKE_CURRENT_SOURCE_DIR.

Fixes: QTBUG-92079
Change-Id: I8a9065f08e859c713b3c8cc08142a9ced0677770
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-08 13:16:41 +02:00
Alexey Edelev 4ed9402d7a Fix linking order of the resource objects
The generated object resource library depends on the Qt::Core library
because uses the functions defined in qresource.cpp. Dummy linking of
the Qt::Core to an object library has an effect only when the object
library is linked directly to the executable as a target. If we link
the object library as INTERFACE library we miss out all the objects
that need to be linked to the executable. This behavior is explained
here:

    https://bit.ly/3sFWKvI

Thus, the only option to link the object library objects to the
endpoint executable is to use TARGET_OBJECTS property in genex, as
it's already done. But that means we are losing all profits that
target actually has, especially linking the object library dependencies.

The combination of both of the above methods does the job. The only
thing that looks fragile so far is order. Currently, the order we
use in the target_link_library call applies to the linker command line.
This means the object library objects must always appear before the
object library target.

Change-Id: If1f0e35e0445d5e96a1f2249ab44114cd36630e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-08 11:29:29 +02:00
Volker Hilsheimer 2c2b349974 Don't judge other people's writing systems
Pick-to: 6.1 6.0 5.15
Change-Id: Ifb8265bad4c8c96c6b20f957c376cec47e28f666
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-04-08 08:48:43 +02:00
Qt CI Bot 1db8b0de0d Merge integration refs/builds/qtci/dev/1617829777 2021-04-07 23:25:09 +00:00
Qt CI Bot e1cfbc10de Merge integration refs/builds/qtci/dev/1617826149 2021-04-07 22:23:53 +00:00
Fabio Falsini ea4868c49d Add legacy external storage access flag
Since latest version of Qt need Android
target sdk 29 the qt direct storage access
doesn't work because a new scoped storage
access way has been introduced. This flag
allow to have current storage access
way to work again (but is limited to
target sdk 29 only)

Pick-to: 5.15 6.1
Fixes: QTBUG-92239
Change-Id: If0d0af7c171de4b3e8bb8dd9a88fd61b65d1c839
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-04-07 23:01:59 +02:00
Qt CI Bot b187ce87f9 Merge integration refs/builds/qtci/dev/1617813097 2021-04-07 21:01:58 +00:00
Robert Löhning 7473317b52 QTextHtmlParserNode: Limit colspan to avoid segfault
This fixes oss-fuzz issue 29758.

[ChangeLog][QtGui][Text] QTextDocument::setHtml: column spans are
limited to 20480, an arbitrarily high but reasonable value.


Fixes: QTBUG-92463
Pick-to: 5.15 6.0 6.1
Change-Id: Ib759e3e3ac0b0d0d483f8e8ce11002e079db3ace
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-07 20:07:56 +00:00
Qt CI Bot 5712853061 Merge integration refs/builds/qtci/dev/1617802255 2021-04-07 18:57:36 +00:00
Qt CI Bot fecba62d32 Merge integration refs/builds/qtci/dev/1617798649 2021-04-07 16:50:55 +00:00
Andrey Butirsky 62e697fd56 fix Alt+` shortcut on non-US layouts
Make it possible for non-letter-keys with Latin 1 symbols (`, !, @ etc.)
to participate in shortcuts also, when the keys generate national
symbols on non-Latin layout.
For example, in Russian layout, "`" key generates cyrillic "ё" letter of
national alphabet, so shortcuts with the key should still work
regardless of the actual layout.

Fixes: QTBUG-90611
Change-Id: Id9a505210ff33a94b82511b88c30ef79f3d03913
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-04-07 16:15:19 +00:00
Alexey Edelev cbdce59cd2 Add the SIMULATE_IN_SOURCE argument to _qt_internal_test_expect_pass
test_QFINDTESTDATA builds the project in the source tree, this is
necessary because the test requires relative paths to the source file
names. This function could be useful for other tests, so it makes sense
to extend the _qt_internal_test_expect_pass/fail macros to support
build in the source tree.
Note that, the SIMULATE_IN_SOURCE argument doesn't build the test in
the existing source tree, but copies source files to the build tree
first to do not litter the source directory.

Change-Id: I16e790d74be2a0c5ca0593e0f88580dbe09882b9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-07 17:56:57 +02:00
Thiago Macieira 89a0ed1009 Allow qrandom_p.h to be included by more than one .cpp in QtCore
I thought we could use C++17 inline variables, but those can't be used
across DLL boundaries:

 qrandom_p.h:75:48: error: definition of 'QBasicAtomicInteger<unsigned int> qt_randomdevice_control' is marked 'dllimport'

Change-Id: Id2983978ad544ff79911fffd1671f857587ef2fb
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2021-04-07 08:36:03 -07:00
Sona Kurazyan a4d1ed854d Do not notify about property changes if the value hasn't changed
After 2ffb91ac59 we manually call notify()
for QObjectCompatProperties. Currently we always call it when setting
values to compat properties, even if the value hasn't actually changed.
Fixed to call notify() only if the value is being changed.

Task-number: QTBUG-85520
Change-Id: I385db84c4009c45406e204b96e0e37ce5fa8882b
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-04-07 14:51:04 +02:00
Edward Welbourne 0c9fc20e7f Avoid attempting to parse insanely long texts as zone names
There are limits on zone name length and the trial-and-error approach
we're more or less forced to take to parsing gets horribly expensive
if applied to every prefix of a very long string. So apply a loosened
version of the zone-name validity rule that limits the length of the
fragments between slashes and limit the number of such fragments.

Fixes: QTBUG-92275
Pick-to: 6.1 6.0 5.15
Change-Id: I83052b1b6888728c81135db22a9c6298ae439375
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-07 14:51:04 +02:00
Lars Knoll df54a5d087 Add QRhiTexture::RG16 format
Those are needed to handle 16bit YUV formats in Qt Multimedia.

Change-Id: I39c67bf4fcf558487b7819ea38e578f99c12a3ed
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2021-04-07 14:29:23 +02:00
Ilya Fedin 0baa26638d indicator-application hack: fallback to dbus service check
There is a hack to work with Canonical's indicator-application tray
applet. Since it implements the SNI spec partially and doesn't work
with IconPixmap, the icon is broken without the hack.

Unfortunately, this tray implementation is still in active use by
Ubuntu; it's shipped and enabled by default on at least:
* Xubuntu
* Ubuntu MATE
* Ubuntu Budgie
(and maybe even others)

Unfortunately, the check doesn't work in confined environments
providing broken tray icons for snapped & flatpak'ed apps.
Fortunately, snap allows checking all registered services on the host.
It also fixes the check on flatpak if permissions to talk with these
names are given.

Pick-to: 6.1 6.0
Change-Id: Iee5d0bb610c3ff397babee89ef1ee788ac19f477
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-04-07 11:45:31 +00:00
Mårten Nordheim 587e3bb0ba QSemaphore: fix missed wakes with futex on Windows
We do this by making the 'futexNeedsWakeAllBit' to be part of both the
expectedValue and the pointer we're waiting on.
This makes sense since having the 'futexNeedsWakeAllBit' set is a
requirement for starting a sleep. Thus we should condition
sleeping on whether or not another thread unset it.

Since the futexNeedsWakeAllBit is in the "topmost" bit of the pointer we
wait on we'll need to use the full 64-bits on 64-bit platforms.

This isn't enabled (nor was it an issue) for configurations with
'futexHasWaiterCount' since that works differently, and waits for the
high 32 bits.

Fixes: QTBUG-92148
Change-Id: I424c605f0120ea5e647c5bb19b00ff35eaf1608a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-07 13:35:10 +02:00