Commit Graph

53280 Commits

Author SHA1 Message Date
Alex Trotsenko
d3a622f817 Revert "QProcess: do not emit aboutToClose() twice"
This reverts commit efb90f6e7e.

Reason for revert: behavior change for signal listeners

Change-Id: Ibe3c5d496cd61a9fccab17a10cc9fda8334fc9d4
Reviewed-by: Björn Schäpers <qt-codereview@hazardy.de>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-09-24 05:57:47 +00:00
Shawn Rutledge
11fc0e7fb3 Register Wacom tablet devices on cocoa
After 6589f2ed0c it's possible and expected
that each platform plugin will register the input devices it discovers.

Task-number: QTBUG-46412
Pick-to: 6.2
Change-Id: I76c9252bc14c5c8e6af3ecc9b26211f6f301103d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-23 18:51:24 +02:00
Luca Di Sera
fc73b585f8 Doc: Update Microsoft's Documentation Links
The documentation links on `msdn.microsoft.com` now redirect to
`docs.microsoft.com`.

While the redirection works, our script to catch broken links on
dev-snapshots builds of the documentation doesn't handle redirection
correctly, reporting it as broken.

Both to appease the broken-links script and to avoid an unneccesary
redirection, the links were modified to point to the equivalent address
in the new domain.

Furthermore, the link to the `Winsock 2 Socket Handle` was moved to be
an `\externalpage` link, as it was used in two different places.

Additionally, the `\externalpage` link titled `Dirext X SDK` was removed
as it was not used in any part of the documentation.

Task-number: QTBUG-96127
Pick-to: 6.2 6.2.0
Change-Id: I07f0ae8d610a7f8322b892a2fa37a5cc1769289e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-09-23 15:55:59 +00:00
Laszlo Agocs
4715128213 rhi: vk: Fix invalid index for unused attachments
Pick-to: 6.2
Change-Id: I8140de4eeb1a8a490fcffd10370c29a49d677fed
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2021-09-23 17:54:31 +02:00
Tor Arne Vestbø
4c78ef80ca macOS: Handle window titlebar buttons independently from style mask
Style masks such as NSWindowStyleMask{Resizable,Miniaturizable}
affect whether the window has a title bar button for the action,
but also whether the window can be resized or minimized through
other means, for example if the window border can be dragged
to resize.

By decoupling the visibility and enablement of the title bar buttons
from the style mask we can individually control the buttons, and
leave the style mask set to enable behaviors we always want. We
were already doing this for the NSWindowZoomButton.

Unfortunately AppKit not only checks NSWindowStyleMaskMiniaturizable
during a call to miniaturize, but also whether the title bar button
is enabled. To allow minimizing windows without the titlebar button
we detect the situation and give AppKit a NSWindowMiniaturizeButton
that we haven't disabled. The alternative would be to temporarily
enable the NSWindowMiniaturizeButton during the minimize, but this
results in the button flashing yellow for the duration of the
animation.

Task-number: QTBUG-65637
Task-number: QTBUG-46882
Task-number: QTBUG-64994
Task-number: QTBUG-71485
Change-Id: I2c1a9564d8b7516476aa018b2820670199124bc2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-09-23 17:01:16 +02:00
Tim Jenssen
fc6eb0bb7e QFileSystemWatcher: fix QWindowsFileSystemWatcherEngine crashes
Since QHash in Qt6 does not guarantee stable iterators after
an insert it crashed from time to time.
- possible crash at the erase call if pit is invalid
- possible crash at insert if pit is invalid

QHash<QString, int> myHash;
auto i = myHash.find("foo");
myHash.insert("foo", 789);
i.value(); // possible crash
myHash.erase(i); // possible crash

Task-number: QTBUG-96790
Change-Id: Ia9b53d46b8d1fef81ab5a130c229bc9e936f6521
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit e60951eef4f0ade944e2f93ffe2f44abfc76d97a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-09-23 14:57:04 +00:00
Iikka Eklund
acaf38cfe4 Conan: Use recipe revision mode for 'python_requires'
By default Conan uses 'minor_mode' policy for 'python_requires'
dependencies. This causes updates in 'qt-conan-common' package not to
land into users when invoking e.g. "$conan instal .. --update".

Fix this by enforcing recipe revision mode so any changes to
'qt-conan-common' recipe is received by the clients when updating
packages.

Pick-to: 6.2
Change-Id: I225965aa76c39552bd4adc93d7e68e0ae0b38d56
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-09-23 17:57:04 +03:00
Edward Welbourne
2c2cdb959f Document QAbstractTestLogger's virtual method API
Provide the information an implementor needs in order to be able to
implement an logging backend.

Change-Id: I7bb522de57149dad843e01a8afa9f8891d011d29
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-23 16:57:03 +02:00
Edward Welbourne
78c8f0cd4d Deprecate QTest::qWarn() and replace its last use
The one place that actually called it with file and line number was
internal to QtTest, so could call QtTestLog::warn().

Change-Id: I8be10fc81996cc3de4d2eea3ecedc59671ffe759
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-23 16:57:03 +02:00
Edward Welbourne
5b525e8e54 Replace QTest::qWarn() with qWarning()
It's the recommended replacement when file and line aren't known, and
simplifies the code in any case, thanks to taking format and varargs.
It incidentally also enables tests to tell QtTest's custom message
logger to anticipate its warnings, when they arise.

Fixes: QTBUG-67702
Change-Id: I10c883f4dd0b69dca6e59e0dbd55ab318f1938f4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-23 16:57:03 +02:00
Edward Welbourne
8511c8b02f Convert all QT_VERSION checks to compare against QT_VERSION_CHECK()
The result is generally more readable.

Change-Id: I507f67954ecd38516de1b7a6f8244c233ee45ddf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-23 16:57:03 +02:00
Edward Welbourne
298e41b830 Remove fatuously true or false QT_VERSION checks
QT_VERSION is now at least QT_VERSION_CHECK(6, 3, 0), so remove all
checks against Qt 6.0.0 or earlier. They are superfluous. Tidied up in
some places in the process, particularly #include order.

Change-Id: I2636b2fd13be5b976f5b043ef2f8cddc038a72a4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-23 16:57:03 +02:00
Laszlo Agocs
e5d65996a9 Add some debug warnings to the GL paint engine regarding stencil
There is absolutely nothing we can do if the render target has no
stencil buffer, but print at least a warning in debug builds to give a
hint to the developer.

Pick-to: 6.2
Task-number: QTBUG-96786
Change-Id: If7f84f28f9bc9b3dadd01d0816c8db4015a1db0b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-09-23 16:27:59 +02:00
Richard Moe Gustavsen
e9cef8e7fa QMessageBox: read geometry from the screen the message box belongs to
The current implementation found a QScreen by using the
position of the mouse in a call to QGuiApplication::screenAt().
From the documentation, this function is allowed to return
nullptr if the position is outside the screen.

From the stack track in the bug report, it seems very likely
that the mentioned call returns nullptr. This is strengthen
by the fact that the crash happens for messageboxes that are
maximized, so that you need to click on the upper corner of the
screen to close it. And then only when HiDPI scaling is in use
at the same time.

This patch will change the code to just use the screen that the
widget is on instead. If no screen can be resolved, the call will
default to primary screen.

Fixes: QTBUG-96639
Pick-to: 6.2
Change-Id: I31f0301318b358be9619caa31cc831b9598d5f90
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-09-23 16:19:13 +02:00
Doris Verria
7c26d7f482 Cocoa: Don't call makeKeyAndOrderFront for native app-modal dialogs
We show non-modal and Qt::WindowModal native  dialogs as modeless
panels by calling  makeKeyAndOrderFront on the panel. When we exec()
a dialog on the other hand, we start a modal event loop by calling
runModalForWindow. This method will display the dialog and make it a
key window before running the modal event loop. So we don't need to
and shouldn't call makeKeyAndOrderFront explicitly before that.
Doing so will make Cocoa lose the reference to the previous active
window (as it maintains only one level of previous active window) and
wrongly choose the main window as key after the dialog closes. Avoiding
the call to showModelessPanel for Qt::ApplicationModal dialogs fixes it.

Also, in order to display a modal when show() is called and app modality
is set via setModality, display it as a modeless dialog as well. This
keeps the same behavior we have currently, but it is still not the right
way to handle it as we don't respect the modality set by the user.
A clean-up of that logic to come in a follow-up commit.

Fixes: QTBUG-42661
Pick-to: 5.15 6.1 6.2
Change-Id: I8f33e3866b191d775a64a5d9ec3dd65736114e62
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-23 10:10:13 +02:00
Richard Moe Gustavsen
8a8be2d638 macOS: Change NSTrackingArea to use NSTrackingActiveAlways
The current implementation configured NSTrackingArea to be active
while the application was active (NSTrackingActiveInActiveApp).
But because of a bug in AppKit, the tracking area would sometimes
stop being updated, with the result that no mouse events was being
sent from AppKit. One way to trigger this bug would be to
deactivate the app using cmd+tab (fast enough so that the task
switcher is not showing), and reactivate it again using a
mouse click.

To work around this issue, this patch will instead configure
the tracking area to always listen for tracking events, even when
the application is inactive (NSTrackingActiveAlways). By doing so,
we bypass the apparently broken behavior in AppKit related to
activation. The downside is that we then also get tracking events
while the application is inactive, which is against how Qt should
work. So we therefore need to now check if the application is active
before we forward any tracking events to QWSI.

With NSTrackingActiveAlways we no longer get enter/leave events
from AppKit when the application is activated/deactivated and the
mouse stays on top of the application, so we now also need to handle
this explicitly from the application delegate. Since we already need
to keep track of which QWindow is under the mouse to be able to send
out enter/leave from mouse moves, we use the same variable
(s_windowUnderMouse) for this purpose as well.

Because of QTBUG-35109, there was already a code path in QCocoaWindow
that sent out an enter event when a window became key. This is no
longer needed now that we send out enter/leave when the application is
activated/deactivated. It's also questionable if sending an enter
event based on a window's key status is correct, since we in Qt should
also send out enter events for inactive windows. So we remove this code
path since it interferes with (both the old and) the new implementation.

Fixes: QTBUG-36926
Task-number: QTBUG-94447
Change-Id: I5c1105bc3102925c9c65964b4a7d1e02efd01735
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-23 03:20:08 +00:00
Tor Arne Vestbø
8f13af5d7b Add private qAbort helper function
Used from qt_message_fatal(), but is useful in other situations too.

Change-Id: I3c0e438536d40271061c76d954c7878abfe37b8e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-22 22:44:19 +00:00
Alexandru Croitor
0da123d67b CMake: Bump almost all cmake_minimum_required calls to 3.16
Needed for subsequent change that will check and error out if the
version is lower than 3.16. We do that to ensure all policies
introduced by CMake up to version 3.16 have their behavior set to
NEW.

Pick-to: 6.2
Task-number: QTBUG-95018
Change-Id: Ieaf82c10987dd797d86a3fd4a986a67e72de486a
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2021-09-22 19:36:49 +02:00
Joerg Bornemann
fb9cc52920 Rework how installation is prevented in non-prefix builds
In non-prefix builds, we want to prevent users from accidentally running
"cmake --install".  We did that by replacing cmake_install.cmake with an
empty file.

The responsible target remove_cmake_install is visible in IDEs, appears
in the build output, and the approach is hacky.

It's cleaner and easier to add bail out code at the top of
cmake_install.cmake.  This is now done when calling qt_build_repo_begin.

As a bonus, print an informative message on installation.

Change-Id: I022b36289358ba09cac8b79781f44cd7b93113f7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-09-22 18:32:47 +02:00
Tor Arne Vestbø
a36a795770 macOS: Fix logic for determining NSWindowStyleMaskTitled/Borderless
We were working under the assumption that the NSWindowStyleMaskBorderless
style mask excluded all others, on account of having the value 0. But in
practice this does not seem to be the case, and you can combine the mask
with many of the other masks. The only mask that is mutually exclusive with
the borderless mask is NSWindowStyleMaskTitled (with a value of 1).

Clarify this be restructuring QCocoaWindow::windowStyleMask().

Task-number: QTBUG-71485
Change-Id: I4bbd603fd2373c11f76e84b72a2a60aa2356b032
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-09-22 17:14:12 +02:00
Craig Scott
f82653c973 Document qt_add_library() and update related docs
Task-number: QTBUG-95712
Pick-to: 6.2 6.2.0
Change-Id: Ib107110457380a2bb30876cf2c565f0c8e8c5e9c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-09-23 00:49:06 +10:00
Craig Scott
7fd9981f4d Add docs for qt_add_plugin()
Task-number: QTBUG-95712
Pick-to: 6.2 6.2.0
Change-Id: Ifdc10c7714e91f6211a52bd5c46b3140485bbb43
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2021-09-23 00:49:06 +10:00
Edward Welbourne
faa99aac43 Remove spurious QTestResult::setCurrentTestData(nullptr);
Calls to QTestResult::setCurrentTestData() are handled via an RAII
class, QTestDataSetter, that ensures this final call passing nullptr
was redundant.

Change-Id: I7788e3ce898e5628d5590ef9d34182f05e85fe50
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-22 16:31:11 +02:00
Fabian Kosmale
b7f2019357 QThreadPrivate: Remove threadForId
The thread build variant is not implemented; the no-thread one simply
returns the current thread. As this has no utility at best and
misleading at worst, remove those functions.

Change-Id: I93ee45ae7d55e3a7ad1f03168b14149a5d4c9253
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-09-22 15:40:30 +02:00
Ievgenii Meshcheriakov
fe46cd59ce Add isValidUtf8() methods to QUtf8StringView and QByteArray{,View}
The new methods return true if the string contains valid UTF-8
encoded data, or false otherwise.

[ChangeLog][QtCore][QByteArray] Added isValidUtf8() method.

[ChangeLog][QtCore][QByteArrayView] Added isValidUtf8() method.

[ChangeLog][QtCore][QUtf8StringView] Added isValidUtf8() method.

Task-number: QTBUG-92021
Change-Id: I5d0cb613265d98b1f189c5f5cc09c1f7db302272
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-09-22 15:40:30 +02:00
Mårten Nordheim
9e770e3572 QNetworkInformation: Request all supported feature when loading by name
When we load by name we used to pass an empty QList to the backend as
the list of requested features. That's not ideal if a backend were to
selectively initialize components, so let's just pass the list of
supported features.
Not a problem in any current backend but it looks weird.

Pick-to: 6.2
Change-Id: Ib022778b08d32e4057103a86bfdda9e17e6ebdaf
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2021-09-22 13:55:58 +02:00
Allan Sandfeld Jensen
0728e88be6 Remove redundant semi-colons
Causes warnings with clang-cl

Change-Id: I57395819debe07aecd045c5a8c747632e6c04fc1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-22 09:36:34 +02:00
Joerg Bornemann
ad4faa25a5 qmake: Print error when iOS simulator device could not be found
A qmake project built for iOS-simulator tries to find suitable devices
in xcodebuild.mk.

If no suitable device could be found, the build failed with
  xcodebuild: error: missing value for key 'id' of option 'Destination'
which isn't that helpful.

Detect the situation in xcodebuild.mk and print an error message.

Pick-to: 5.15 6.2
Fixes: QTBUG-77222
Change-Id: I02f9ab0dd7b8f234bcd8d0ea387927f31ca092e0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-22 00:01:30 +02:00
Alex Trotsenko
a320b54bb6 QLocalSocket: reorder device closing
To allow reading from a slot connected to the aboutToClose() signal,
we should call QIODevice::close() just before closing the inner device.

This patch amends 21f3ff65b8.

Pick-to: 6.2
Change-Id: Ic8cd00497e1bdf923b980c26e9ca874b77e82f89
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2021-09-21 21:40:27 +00:00
Mårten Nordheim
8910a01c72 Fix loading certificates on Android with OpenSSL
Fixes: QTBUG-96606
Change-Id: Ic2a55fa65c5dc3c057a4da25c218af5a9861410e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 504df6b135d4ac17aa2290e1aa943d216fb7ef55)
2021-09-21 20:49:33 +02:00
Tor Arne Vestbø
ab4fb3ffd4 macOS: Don't re-send key event through input method on focus object change
In 0c2ca26cd9 we started re-sending the
key event through the input method when we detected a focus object change,
to support the use-case of QAbstractItemView opening an editor and changing
focus in response to the first QEvent::InputMethod event.

Unfortunately this doesn't work as a general approach, because we don't
know what the reason was for the change in focus object. For example,
a client might respond to a Qt::Key_Return press by changing the focus
to the next input element, and re-sending the key event would in that
case insert a new-line in the new focus object -- counter to the
expectations of the client.

Since we can't know the reason for the changed focus object we can't
assume re-sending the key event is safe.

Task-number: QTBUG-54848
Fixes: QTBUG-96726
Pick-to: 6.2 6.2.0
Change-Id: Iea8b166385925cd1a05ef62d5cf763638d9f8a67
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2021-09-21 20:49:00 +02:00
Fabian Kosmale
388e7504be QVariant::Private: select storage in get at compile time
Change-Id: I82b0a7ec28400dac64ea785ba6766ca488e615aa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-21 19:22:33 +01:00
Fabian Kosmale
3f9d19b17b QVariant: write less haphazardly to data
While the data subobject is at the same position in memory as the
QVariant::Private, using d.data actually activates the union member.

Change-Id: Ie6879b588c8e830ae8b34cfcd8e9ddff8b60b3a6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-21 19:22:33 +01:00
Tatiana Borisova
dbab926883 locale: INTEGRITY does not define LC_MEASUREMENTS
- It does however use the Unix backend for system locale, so don't entirely
  skip setting environment variable, only leave out LC_MEASUREMENTS.

Pick-to: 6.2
Change-Id: If292f1077851b29da2a21af7c46f4db9c0e4ed19
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-09-21 17:56:54 +00:00
Fabian Kosmale
01d94760d8 tst_qmetatype: Fix operator< detection for std::optional
Amends ca54b741d6.
operator< is not constrained in MSVC's standard library, either.

Pick-to: 6.2
Fixes: QTBUG-96690
Change-Id: Ibcbb9e53a1f9e8b13786f6d8c01489c61d8d2d7f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2021-09-21 19:27:50 +02:00
Laszlo Agocs
4cc5428548 Cater for upstream changes in eglplatform.h
EGL_NO_X11 has been replaced with USE_X11, thus breaking all existing
code out there, including Qt:
https://github.com/KhronosGroup/EGL-Registry/pull/130

Fix this by defining USE_X11 whenever we do not define EGL_NO_X11.

Fixes: QTBUG-96392
Pick-to: 6.2
Change-Id: If8b68caa8c9022477d87169ca2e2a0121a9313e0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2021-09-21 16:21:01 +02:00
Alexey Edelev
68ad67b6fa Use only supported values when setting internal QT_FEATURE_ values
When setting QT_FEATURE_ values we need to convert the user-provided
FEATURE_ values to the one that is supported by QT_FEATURE_.

Pick-to: 6.2
Fixes: QTBUG-96300
Change-Id: Idd19fbf7f23f351a6c1cfdcedccfaaf6b0aa6e44
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-21 16:05:22 +02:00
Edward Welbourne
080bbb9f8b Improve version-related docs in qglobal.cpp
Give a more pragmatic illustration for QT_DEPRECATED_BEFORE.
Make various minor tweaks to wording, use slightly less antique
versions in examples. Make usage of "runtime" standard in qglobal.cpp,
at least, since "run-time" seems to be less used generally.

Change-Id: I1db4950d0d0e97903b1586d98ecba75576493b1c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-09-21 14:52:43 +02:00
Pasi Petäjäjärvi
3635acd27a locale: QNX does not define LC_MEASUREMENTS
Pick-to: 6.2
Change-Id: I01ce03e578173f53639927e70f49e6d9b0d08d20
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-09-21 14:36:18 +03:00
Thiago Macieira
8cc6c7cd6e QProperty: attempt to fix compilation with GCC 10
Somehow it's not expanding properly in constexpr time.

qproperty_p.h:554:30: error: \u2018(QItemSelectionModelPrivate::modelChanged != 0)\u2019 is not a constant expression
         if constexpr (Signal != nullptr) {
                       ~~~~~~~^~~~~~~~~~

Fixes: QTBUG-96659
Change-Id: I3eb1bd30e0124f89a052fffd16a69d2eb4b45784
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-09-21 04:10:25 -07:00
Morten Johan Sørvig
67b2c84992 Make QWindow respect minimumSize again on Windows
Commit 6336b535 accidentally removed a call to
applyToMinMaxInfo(). Add it back.

Task-number: QTBUG-96441
Pick-to: 6.2.0 6.2
Change-Id: I26a5d121ed3b4cd9e49e3dd8b371abe71d9a482c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-21 11:10:25 +00:00
Luca Di Sera
28157cf24e Doc: Repair broken link to the XDND protocol
The documentation for QTGUI's `Drag and Drop` links to the XDND
protocol, which is used to manage Drag and Drop on X11.

The previous link seems to have been broken for a few years and was thus
replaced with a link to XDND on Jhon Lindal's site, who is the author of
the protocol.

Task-number: QTBUG-96127
Pick-to: 6.2 6.2.0
Change-Id: Ia46b10c7461129491934eb74355f107f96e04383
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2021-09-21 12:51:06 +02:00
Alex Trotsenko
b362279e86 Refactor QWindowsPipeWriter::writeCompleted()
Change-Id: Id44215d6a96e7841330181c94cc54b6b677a153d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2021-09-21 11:07:12 +03:00
Iikka Eklund
66b1b80642 Conan: Fix invalid options for package_id checksum
The android specific options were plain wrong:
  - android_sdk_path -> android_sdk
  - android_ndk_path -> android_ndk

These reflect the Qt configure options.

Pick-to: 6.2
Change-Id: I0b9283b6603aff8243208216baffe263d37b6541
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2021-09-21 10:41:01 +03:00
Iikka Eklund
9cd87a778d Conan: Exclude 'headersclean' option from package_id
This option should not affect the binary compatibility thus it should
not be part of the package_id of the created Conan package.

Pick-to: 6.2
Change-Id: I6d09cc3933cd28c306ef011bb26346a0993ffcd3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-09-21 10:41:01 +03:00
Iikka Eklund
d96fe5e753 Conan: Filter cmake_args that should not be included in package_id
The qtbase Conan recipe has 'cmake_args_qtbase" option to pass cmake
arguments. Some of the cmake arguments should not be included in the
package_id checksum of the Conan package. Filter these out when
generating the package_id.

Examples:
  - -DCMAKE_C_COMPILER_LAUNCHER=sccache
  - -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
  - -DFEATURE_headersclean=..
  - -DPostgreSQL_ROOT=..

Those arguments which are specific to Qt CI build environment are
filtered out. This makes the pre-built Conan binary packages more
usable for the end users because Conan would enforce a build
from sources if the checksum(s) would not match.

Pick-to: 6.2
Task-number: QTBUG-96230
Change-Id: I076a57427614fdf4bf9138402e247d63f1ce15d9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-09-21 10:41:01 +03:00
Craig Scott
30e2f51dab Add docs for qt_allow_non_utf8_sources()
Task-number: QTBUG-95712
Pick-to: 6.2 6.2.0
Change-Id: Ie09785ced5b2bf8098ccff3467f32244f32f9195
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-09-21 14:02:52 +10:00
Craig Scott
9a7c552831 Add docs for qt_disable_unicode_defines()
Task-number: QTBUG-95712
Pick-to: 6.2 6.2.0
Change-Id: I37a50d9e8a62c7d9c30014692d99ffe2eb9b90fb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-09-21 14:02:46 +10:00
Povilas Kanapickas
2d5541d6c3 3rdparty: Fix forwards-compatibility bug in bundled xinput xcb module
libxcb thinks that it knows about all device class types sent by the X
server XInput extension. With the addition of touchpad gestures in
XInput 2.4 and X server 21.1 this is no longer the case and libxcb fails
horribly by thinking that the protocol was malformed.

The X server currently has a workaround, but it would not address the
following situation:

- there are multiple modules within the same X client (e.g. part of the
application uses Qt, another part talks to X server via another library)
 - both of the modules talk to XI
 - at least one module requests for XI 2.4 protocol support.

The request for XI 2.4 disables the workaround on the X server and Qt
side would crash horribly.

This bug is being fixed upstream in these MRs:
https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/23
https://gitlab.freedesktop.org/xorg/lib/libxcb/-/merge_requests/20

Change-Id: Idf345271340031152b512ef59f619313be5ec226
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-09-20 23:10:26 +03:00
Mårten Nordheim
1479f057f3 QNetworkInfo(Win): cleanups
One signal emission was not labelled emit.
Removed some unnecessary braces

Change-Id: I1c0adde869e559056e60671619bfca33b1966d1e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-09-20 19:00:01 +00:00