Commit Graph

42527 Commits (11c19ac6e2892a552e5302fdf71aeb3e6a7812e9)

Author SHA1 Message Date
Michael Weghorn 45121669f5 a11y atspi: Handle AT-SPI Text's ScrollSubstringTo
This implements handling for the ScrollSubstringTo
method from the AT-SPI Text interface by calling
QAccessibleTextInterface::scrollToSubstring with
the given text offsets.

While the AT-SPI method has an additional parameter
for the scroll type that specifies where on screen
to place the given substring (s. doc at [1]), there
is no equivalent in
QAccessibleTextInterface::scrollToSubstring,
so ignore that parameter.

[1] https://lazka.github.io/pgi-docs/Atspi-2.0/classes/Text.html#Atspi.Text.scroll_substring_to

Fixes: QTBUG-105854
Change-Id: I390e1316c5c55cb646a299499a5f87c9c6945a44
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-27 02:07:54 +02:00
Mikolaj Boc f35e5a44b0 Implement mouse capture on WASM
This fixes dock widget undocking - previously, without the capture, any
widget that the mouse accidentally entered would get the event,
resulting in re-docking problems, cursor issues etc.

Fixes: QTBUG-105621
Pick-to: 6.4
Change-Id: Ia1f2c91578018f2ae9df903bc0730200ede17d32
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2022-08-27 00:10:34 +02:00
Thiago Macieira 15ccc7e499 QVariant/Doc: document that you must register types before op>>
But not before ::fromValue, since that registers automatically.

Take the opportunity to add the \relates to the two streaming operators
to QDataStream, so the documentation shows up *somewhere* at all.

Pick-to: 6.4
Task-number: QTBUG-105469
Change-Id: Ic6547f8247454b47baa8fffd170eb8ffc31feb5d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-26 18:32:15 +00:00
Thiago Macieira 7deb49d886 QMetaObject: fix the consistency check for forward-declared builtins
For those, moc does know their type ID, and yet they may be still
forward-declared in the C++ side, so the meta object may have recorded a
null pointer in the metatype array.

Fixes: QTBUG-105832
Change-Id: Ic6547f8247454b47baa8fffd170dae07c0813dc7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-08-26 19:50:48 +02:00
Marc Mutz e1cf523354 QScopedArrayPointer: port to qsizetype
[ChangeLog][QtCore][QScopedArrayPointer] Is no longer limited to 2Gi
elements in size.

Task-number: QTBUG-103533
Change-Id: Ic591b3245c53d478e42ff054e01054d855b38685
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-26 19:50:48 +02:00
Marc Mutz 3f32b01b98 Port QDir to qsizetype [2/3]: implementation
Port ints that should be qsizetype. None of these are likely to cause
bugs, because both path lengths and number of directory entries are
usually limited by the OS, not by INT_MAX.

As a drive-by, replace length() with size() and port some functions
from QString to QStringView.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: I79eb6d580631346a1e77eb1c7a73a3880943794e
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-26 19:50:47 +02:00
Mikolaj Boc 08d2ae8833 Update the snippet for QFileDialog::saveFileContent
The snippet for QFileDialog::saveFileContent is wrong - the parameters
used are in wrong order.

Pick-to: 6.4 6.2 5.15
Change-Id: I022e8ed2ef5aeea5a44e9b10ac211893a3e24c0f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-08-26 14:46:16 +00:00
Tor Arne Vestbø ee81e1acf4 Simplify QNetworkListManagerNetworkInformationBackend's COM handling
The class used to be implicitly movable to a different thread, but this
is no longer the case, so we don't need to initialize and uninitialize
the COM library in start() and stop(). A qFatal has been added to ensure
we detect if this will be required again.

Change-Id: Ib22fe0bdcd5cb96f05632b09803c5de8ff43279a
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-26 16:46:16 +02:00
Morten Sørvig 927bb089f7 QThread: add empty functions for the no-thread build
Add implementation for requestInterruption() and
isInterruptionRequested().

Pick-to: 6.4
Change-Id: I9ffabb0181a48c71deded7362c6c8e2e96418cc0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-26 16:21:47 +02:00
Oliver Wolff 0988ad8521 Remove superfluous clang preprocessor check for cpp/winrt
The cpp/winrt configure test fails if clang is being used so there is no
need to explicitly check for the compiler.

Change-Id: Ifb2cb792cf3ea2d2ff09be6e47d741f09aec765f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2022-08-26 16:21:47 +02:00
Edward Welbourne 981b3336f6 Simplify one of the gap cases in QTimeZonePrivate::dataForLocalTime()
The code computed the transition gap and subtracted it from one side's
proposed UTC time, or added it to the other's; the effect was the same
as swapping these two values. Doing that overtly as a swap simplifies
the remainder of the code. Clarified the accompanying comment in the
process.

Change-Id: I00b8d2bb98ea08b6edd11e01d05a091cb39f3511
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-26 14:15:24 +02:00
Edward Welbourne a6d6d919fa Trivial simplification in QDataStream &operator>>(..., QDate &)
The target date.jd is a qint64, so no need for a separate variable of
the same type to read into before copying to it.

Change-Id: I6f8990f6a74a785db205b8e2af1a3e3684759cd4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-26 14:15:23 +02:00
Volker Hilsheimer 74397b4924 Refactor QApplication::event from if/else to switch statement
And it wasn't even 'else if' in all the places where it should have been.

Pick-to: 6.4
Change-Id: I5a48bfe27cc01fa1fbea1995e8c9cb1be427511a
Reviewed-by: Doris Verria <doris.verria@qt.io>
2022-08-26 13:33:16 +02:00
Harald Sitter b646c7b76c add color picking support on wayland using the XDG desktop portal
On wayland applications are not trusted to perform screen grabs by
default, it is however possible to let the user specifically pick the
color of a pixel using the XDG desktop portal (otherwise used for
sandboxing etc.). Try to use this portal on unix systems by default.

To support this use case some extra abstraction is necessary as this
constitutes a platformservice rather than a platform feature. To that
end the QPlatformService has gained a capability system and a pure
virtual helper class to facilitate asynchronous color picking. When
supported the color picking capability takes precedence over the custom
picking code in QColorDialog.

Fixes: QTBUG-81538
Change-Id: I4acb3af11d459e9d5ebefe5abbb41e50e3ccf7f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-26 13:33:15 +02:00
Tasuku Suzuki f8409b6e9c QAbstractButton: do not steal wheel event when disabled
Fixes: QTBUG-102091
Pick-to: 6.4 6.3 6.2
Change-Id: I9a6683ad94a739c9997ebc68dd4ca8cf05438c45
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-08-26 11:33:15 +00:00
Friedemann Kleint 7e89e6bfe8 Windows QPA/QPlatformServices::openUrl(): Add work around for anchors on local file URLs
Retrieve the browser executable and pass the URL as command line argument
in this case to work around ShellExecute() failing to handle anchors.

Pick-to: 6.4 6.3 6.2 5.15
Fixes: QTBUG-14460
Change-Id: I44ccd1126d5db6a387b36729837edc045908a670
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
2022-08-26 08:53:41 +02:00
Mikolaj Boc cf2dc8d6f3 Remove support for min button in QWasmWindow
Minimizing windows is not supported on Wasm. The button has also never
been drawn, so remove the code that supports its hit test.

Change-Id: Ic1c26f1036aa9c7d65c8c61b7fd47ecce32889ca
Pick-to: 6.4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2022-08-26 00:23:11 +02:00
Andy Nichols e020a8eaf7 RHI: Make sure to compare bindings when comparing QShaders
It is possible, at least with Metal, that after the shader is converted
to the native shader that the native bindings will changes, so it is
important to also make a comparison against the bindings as well.

Pick-to: 6.4
Change-Id: I8b6ff99fbda04ea66e3cb7970d7c33df066734cf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2022-08-25 20:36:57 +02:00
Edward Welbourne 612c345108 Reverse toLocalTime()'s and toUTC()'s delegation to toTimeSpec()
The implementations of toLocalTime() and toUTC() get marginally more
efficient and toTimeSpec() now manifestly does what its documentation
declares it does. Previously, passing TimeZone would have produced a
warning about passing it to toTimeSpec(), which was less than helpful;
it now gives a more appropriate warning.

Rationalize the \sa lines between these functions and their close
relatives in the process.

Change-Id: Ie94c63cbea8ef3d1d14c2f1febdc10f0e53023c0
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 20:34:54 +02:00
Edward Welbourne 47bafe6253 Reimplement fromSecsSinceEpoch() using setSecsSinceEpoch()
This avoids repeating the overflow-handling, which setSecsSinceEpoch()
does better in any case. Expand \sa linkage among related functions in
the process.

Change-Id: I929fca19d240b514c8167771a241ede5387bb418
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 20:34:54 +02:00
Edward Welbourne 7833b604b6 Eliminate ValidWhenMask; it duplicates ValidityMask
Apparently I failed to notice ValidityMask when I added ValidWhenMask
to simplify some code.

Change-Id: I780f329a6b21b51ba5fe0702c5c86ba07b88d81f
Reviewed-by: Mate Barany <mate.barany@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 20:34:54 +02:00
Edward Welbourne 572b12907b Clean up handling of status in QDateTime
Use QFlags's semantic methods more, eliminate some local status
variables we don't need, shorten some code. Rename one local variable
from status to dst to more accurately reflect its meaning.

Change-Id: Ib08ecacee13e91cff3ea0efd1d753963d7b7fa38
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 20:34:54 +02:00
Edward Welbourne 538535d88f Use QRoundingDown when converting UTC to local time
It simplifies the code.
Also add a comment on why the result is then checked for consistency.

Change-Id: Ic2d408c0ea39bc164e9a725284044b7dbd1f287c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-25 20:34:54 +02:00
Joerg Bornemann ef1ff65b0a windeployqt: Directly access the 'relocatable' config feature
Before, we added the preprocessor define QT_RELOCATABLE if the
relocatable feature was set and checked for the define in the source
code.  This indirection is unnecessary.

Also, widen the scope of the feature check to avoid some unnecessary
code.

Change-Id: Ib5f38bf310699d528efdd24edbf14b861bf33935
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-25 19:37:29 +02:00
Volker Hilsheimer 52f4d0b0d2 QAbstractItemDelegate: tolerate that editor gets reparented
An item delegate might override destroyEditor to merely reparent the
existing editor out of the item view for later reuse, rather than
actually destroying the editor.

As of d0dffdfc01, the code calling
closeEditor() - which calls destroyEditor - might explicitly set focus
back to the item view parent of the editor. This needs to handle that
the parent of the editor might no longer be valid after the closeEditor
call returns, and rather store the old parent widget explicitly.

Add a test case that segfaults with nullptr access without the fix.

Fixes: QTBUG-105231
Pick-to: 6.4 6.3 6.2
Change-Id: I04a355673823c4941865f7a575864e991ceeb5f0
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2022-08-25 18:04:19 +02:00
Alexandru Croitor 5b43a673df CMake: Fix storyboard entry in an iOS Info.plist file
It should not contain the .storyboard file extension, just
the base name.

Amends 578f4ba00c

Pick-to: 6.4
Task-number: QTBUG-101064
Change-Id: I70ce4581baec7cd62c2dae25c1ed963be28eddfe
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-25 17:28:15 +02:00
Alexandru Croitor 6bbd77737f CMake: Default CFBundleName to ${PRODUCT_NAME} for iOS
This matches what we do in qmake.

Pick-to: 6.4
Task-number: QTBUG-95838
Change-Id: I59fab289a2febc38b50aced89c93612ac6a817a3
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-25 17:28:15 +02:00
Mikolaj Boc 6cd0dc213b Move titlebar drawing routines to QWasmWindow
The title bar drawing routines belong in QWasmWindow, not in the
compositor. This provides better encapsulation as many properties
don't have to be leaked from QWasmWindow. Extensibility will also
improve.

Change-Id: If73dd4e87602f62bff0de92e1405f89e7a9f3b43
Pick-to: 6.4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2022-08-25 16:53:47 +02:00
Sona Kurazyan 713f1c633a Move definition of QT_MOC_COMPAT from qgloabl.h to qtconfigmacros.h
Task-number: QTBUG-99313
Change-Id: I331aa5f1805a7e774d0fe8b819720c17767670b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Sona Kurazyan 48aa320569 Extract header qmalloc.h from qglobal.h
Definitions of qMallocAligned()/qReallocAligned()/qFreeAligned() were
already in qmalloc.cpp, so add qmalloc.h for declarations.

Task-number: QTBUG-99313
Change-Id: I8028402a2c48dede855ad7de35d7b77e9911c761
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Sona Kurazyan d9544394b0 Extract header qtypetraits.h from qglobal.h
Task-number: QTBUG-99313
Change-Id: I6cb76607213ca5d64dec669a39e8a59e13b21497
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Sona Kurazyan 9c706e2567 Extract header qswap.h from qglobal.h
And move qSwap() docs from qalgorithms.qdoc to qswap.qdoc.

Task-number: QTBUG-99313
Change-Id: I2385d5162a8dbb2de51a0c0509eced77b6a17159
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Sona Kurazyan 8aefcd4756 Extract header qtresource.h from qglobal.h
Task-number: QTBUG-99313
Change-Id: I4dd219dcb9181bf23feb6639821764cd5dc19a24
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Sona Kurazyan 4da3350f15 Extract header qconstructormacros.h from qglobal.h
Task-number: QTBUG-99313
Change-Id: I3861a3095148c7927aabd8becf6f7b534f214fba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Sona Kurazyan e57d2d7279 Move docs for qlonglong and qulonglong to QtTypes
These were missed by fc3441101b.

Change-Id: I3a0c3a24d584e9cdc753647bcb6a3829291c9499
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-25 16:53:47 +02:00
Tor Arne Vestbø 848e64ea8a Add qfunctions_win_p.h header for Windows helper functions
For now just includes qfunctions_winrt_p.h

Once submodules have been moved over to qfunctions_win_p.h we can move
non-WinRT specific content from qfunctions_winrt_p.h to _win_p.h.

Change-Id: I467bb4991c67a8769b60b9cf9f26aa553c439b92
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2022-08-25 14:43:37 +02:00
Morten Sørvig 407a39d3ca wasm: use matchView() instead of match()
QRegularExpression::match() is deprecated.

Change-Id: I66c7b3043a3805614fedcdb081c7e704e9925e5e
Reviewed-by: David Skoland <david.skoland@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2022-08-25 14:43:37 +02:00
Thiago Macieira d2e9d70ec1 QMetaObject: add revision 11 for Qt 6.5
We changed qTryMetaTypeInterfaceForType() so it does record void and
void* (see commit 2d0c31e7d9 and commit
3695b35dfc). By incrementing the revision
number, we make it possible to determine at runtime whether the new
information ought to be present.

We may add even more types (namely, non-const references) before 6.5.0
is out. For pointers, the restriction remains that the metatype is
recorded only if the pointer is a pointer to a complete type.

Change-Id: Ic6547f8247454b47baa8fffd170dad79b1a90f6b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-08-25 03:31:28 -03:00
Yuhang Zhao c1bdaf0a1a QSystemLibrary: Use Windows functionality directly
Passing LOAD_LIBRARY_SEARCH_SYSTEM32 to LoadLibraryEx() can also
only load libraries from the system directory, so in this case
we can use it directly instead of doing all the work ourself.

Change-Id: I4971781e55c9f1476861d599d58233114c280bc9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-25 12:42:18 +08:00
Mitch Curtis 502c47820a qt_fusionPalette: make links more legible on dark backgrounds
QPalette's default for Link is Qt::blue, which is difficult to read
on dark backgrounds.

Use the same blue that is already used for Highlight, as it is
consistent and easy to read.

Task-number: QTBUG-90504
Pick-to: 6.4
Change-Id: Ic7aceafb2bd0e57b65448917c352e3551ad26610
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-08-25 09:29:06 +08:00
Mikolaj Boc 906dfef22b Use the qt type Qt::Edges instead of wasm-specific
The types essentially do the same job - the one that is more general
should be used, the other - removed, as it is redundant.

Change-Id: Iec09d3311681abce1405fcf8c2cebfb72f3fd51c
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2022-08-24 21:12:00 +02:00
Ilya Fedin a4a51f6a64 Re-create TLW's window only when its surface type is really changed
Fixes: QTBUG-105017
Pick-to: 6.4
Change-Id: If5826172efb53b6df15dd3b7ba91b09d733cc77f
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2022-08-24 23:12:00 +04:00
Morten Sørvig cd73301a2e wasm: disable asyncify for non-static builds
The asyncify support in the event loop currently uses
EM_JS, which Emscripten does not support using from
side modules.

Change-Id: I5f961d9cd12f7b1b6cc1c2382b807a1da2918725
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
2022-08-24 21:12:00 +02:00
Samuli Piippo 52ebf31d2b CMake: don't use full paths for X11 SM and ICE libs
Full paths were recorded into INTERFACE_LINK_LIBRARIES which could
point to temporary build directories.

Pick-to: 6.4 6.3 6.2
Change-Id: I883fd8f652e4d9ecd7d8e0076d62f5c7f4e14ec9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-24 19:11:59 +00:00
Mårten Nordheim da9d60ecc3 Make sockets' accept() methods return qintptr
Not necessarily relevant outside windows, where the socket descriptor
is SOCKET (= unsigned 64-bit). Also follow their recommendation to not
compare to -1, but rather to INVALID_SOCKET.

Pick-to: 6.4 6.3 6.2
Change-Id: I0cfa4dfd9e147469132e2e72de22b30eab01e15c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-24 19:08:58 +02:00
Kai Köhne 4b3cb1329a Doc: Remove "Container keywords" section from containers.html
For foreach, we just mention that it is deprecated, and forever is not
actually directly related to Qt containers. Both macros are also
documented in qglobal.cpp, and the section title is not referenced
anywhere so this patch won't break any links.

Pick-to: 6.4
Change-Id: I6c3e11b205237e5b502173f2216606adf5812f55
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-08-24 17:50:25 +02:00
Kai Köhne 836b2ae1e6 Doc: Remove qmake-only reference in Q_IMPORT_PLUGIN description
The Static Plugins page describes handling of qmake and CMake already
in greater detail. No need to replicate it here.

Pick-to: 6.4
Task-number: QTBUG-88044
Change-Id: I2cae85c0b0d20585b563bab9e263121181adeb8c
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-24 17:50:25 +02:00
Kai Köhne 54e01d50f4 Doc: Generalize info about -rdynamic to be not qmake specific
Pick-to: 6.4
Fixes: QTBUG-88044
Change-Id: I079cb75b5a5c32e38dec73474c967cc836d94b68
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-24 17:50:25 +02:00
Kai Köhne f9cd4a0290 Doc: Remove mentioning of variadic macros
We don't support compilers without variadic macros anymore; the check
in code was removed already in commit 4628e5cded.

Pick-to: 6.4
Change-Id: Ica4d0b2f7055e3d00ae780e23eb4e5a9d2dcc191
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2022-08-24 17:50:25 +02:00
Juha Vuolle ae972085a4 Unstringify QStandardPaths Android parts
Qt 6.4 introduced new facilities to reduce the plain strings
with Android methods/signatures.

Fixes: QTBUG-104186
Change-Id: Id01f26aff253b096054f9fd6d062cebce94fdb50
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2022-08-24 18:50:25 +03:00
Sona Kurazyan 5ae013a2b6 Remove unneeded Q_DECLARE_SHARED_IMPL
After d06a686cad, Q_DECLARE_SHARED_IMPL is
used only in Q_DECLARE_TYPEINFO, so remove the indirection through
Q_DECLARE_TYPEINFO_IMPL.

Change-Id: Ida188053c4ea512e9ebdf04f807f86a6159f8425
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-24 17:50:25 +02:00
Mikolaj Boc 11f12521bc Resolve window focusing problems on WASM
- Moved the modal window resolution to
QWasmWindow::requestActivateWindow so that multiple async activation
events are not issued in unpredictable patterns.
- Request activation on added windows and on stack top in case of
window removal

Pick-to: 6.4
Change-Id: I6f02cf1b7e83abb7961caf311ffc83e91c8bf810
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2022-08-24 17:50:25 +02:00
Edward Welbourne 0acb56518d Rearrange mapLocalTime() so its millis always have the right sign
Doing a simple division to get seconds, before using rounding-down
division to get days and positive seconds, saves the need to check for
seconds and millis in opposite directions that might cause a needless
overflow when computing the final result.

Change-Id: Ia4f95bb0510eb4f2c1f9131a34d317bd41bbed2a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-24 16:08:18 +02:00
Axel Spoerl 854cb55987 Make QHeaderView restore state from different stream versions
If restoring a QHeaderView state from a data stream with version Qt_5_0,
check alignment and resize mode properites for out-of-bound values.

If out of bounds, try QDataStream version Qt_6_0, which is used by KDE
apps compiled with 5.15.2 or 6.2.3.

QFileDialog stores settings in the same settings file across different
Qt versions, using different QDataStream versions. That makes
QFileDialog vulnerable to the issue (QTBUG-104962). A respective auto
test is added with this patch.

Fixes: QTBUG-104962
Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-104425
Change-Id: I666207fca7ab837ad27a247e504a40757ee8afab
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-08-24 14:08:18 +00:00
Joerg Bornemann e38c7618be CMake: Fix Android build for CMake < 3.19
The Android build used cmake_language(DEFER) and guarded with a check
for CMake's version being >= 3.18.  However, cmake_language(DEFER) was
introduced in CMake 3.19.  Fix that version check.

Fixes: QTBUG-105841
Pick-to: 6.3 6.4
Change-Id: Ic318c104cf212de4c97c5a89b73536609826fd5b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-24 15:11:40 +02:00
Mitch Curtis 9c66af1f1d Account for dark system themes in qt_fusionPalette
On Ubuntu (Gnome), the Fusion style didn't account for when a dark
theme was set in the system's settings. Neither QGtk3Theme, nor
QGnomeTheme (which it derives from) provide a palette() implementation,
so they'd fall back to QPlatformTheme's. This default implementation
calls QPlatformThemePrivate::initializeSystemPalette(), which uses
qt_fusionPalette().

This patch accounts for QPlatformTheme::appearance() in
qt_fusionPalette(), adjusting the palette roles accordingly
to look correct when run under a dark theme.

This also fixes the same issue for the Fusion style in Qt Quick
Controls.

Fixes: QTBUG-90504
Task-number: QTBUG-99276
Pick-to: 6.4
Change-Id: Id096bf809ef7a63dc440b5a68283e123173e917e
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-24 15:18:21 +08:00
Mikolaj Boc a4c0e442e5 Disable resizing only when explicitly asked
Do not assume that popups are unconditionally non-resizable. Only
disallow resizing if explicitly asked by minimum/maximum size match.

Change-Id: Ia8e3e4d074e4dc24b0ae4be56858e0d833eeebdb
Pick-to: 6.4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2022-08-24 04:49:11 +02:00
Mikolaj Boc 8d728a0ed9 Implement the batch_tests feature
An approach of test batching (joining multiple tests into a single
binary) has been taken, due to long linking times/binary size on certain
platforms, including WASM. This change adds a new feature
'batch_test_support' in Qt testlib. Based on the value of the feature,
test batching may become enabled with the -batch-tests switch.

Batching works for every target added via qt_internal_add_test. When
first such target is being processed, a new combined target for all of
the future test sources is created under the name of 'test_batch'.
CMake attempts to merge the parameters of each of the tests, and some
basic checks are run for parameter differences that are impossible to
reconcile.

On the C++ level, convenience macros instantiating the tests are
redefined when batch_tests is on. The new, changed behavior triggered
by the changes in the macros registers the tests in a central test
registry, where they are available for execution based solely on their
test name. The test name is interoperable with the names CMake is aware
of, so CTest is able to run the tests one by one in the combined binary.

Task-number: QTBUG-105273
Change-Id: I2b6071d58be16979bd967eab2d405249f5a4e658
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-08-24 02:46:37 +02:00
Sona Kurazyan 8446655f24 Remove QT_MODULE define
This doesn't seem to be used in any of the modules.

Change-Id: I5c007f50bdd9f5ed5f512606a0d4599593c6b40e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-24 01:00:08 +02:00
Sona Kurazyan 11ee62bf76 Move Q_AUTOTEST_EXPORT to qtconfigmacros.h
The include statements for qconfig*.h can now be moved there too.

Task-number: QTBUG-99313
Change-Id: I65f564fc48b9074861b0f8b50046062c2e83090c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2022-08-24 01:00:08 +02:00
Lucie Gérard 32df595275 Change the license of all CMakeLists.txt and *.cmake files to BSD
Task-number: QTBUG-105718
Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-23 23:58:42 +02:00
Juha Vuolle 501dfe1bc7 Unstringify QTimeZone Android parts
Qt 6.4 introduced new facilities to reduce the plain strings
with Android methods/signatures.

Fixes: QTBUG-104187
Change-Id: I94fc336f253e4969ac96ebcba5c1423989b340ab
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2022-08-23 22:33:20 +03:00
Mikolaj Boc 80d9436488 Remove the dead drawShadePanel in qwasmcompositor
The method is not used anywhere. Remove it to save tens of LOCs.

Change-Id: Id853d12d238aa30eb197ab3fed7ccc24a2213e31
Pick-to: 6.4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2022-08-23 18:49:47 +00:00
Axel Spoerl 7c61eb101d Revert Q_DECLARE_EXPORTED_LOGGING_CATEGORY in tst_qdockwidget
Q_DECLARE_EXPORTED_LOGGING_CATEGORY is available from 6.5 only, hence
cherrypicking this solution fails.

Change-Id: Ib3351a8846bb5cf6047cd2d13c9f7cd242df9c93
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-23 20:49:47 +02:00
Paul Wicking 767bac9c5e Doc: Format certain operators in text
Use correct text formatting; this ensures e.g. the decrement
operator isn't converted to an en dash in the docs. Apply
to increment operator docs also for consistency.

Task-number: QTBUG-105729
Change-Id: I5f126b90bc1d1b91d86e1f87c9b17a583841adb6
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-08-23 20:49:47 +02:00
Laszlo Agocs 37bf3b883d rhi: metal: Update out-of-date internal comments
Would have been nice to provide a flag to set the METAL_DEVICE_WRAPPER_TYPE
env.var. but apparently it needs to be set very early, the QRhi just cannot
do it, it's too late to qputenv then. So just update the internal docs.

Change-Id: I94926debe3af73b67018c5449d7893df38f31f0d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-23 20:49:47 +02:00
Marc Mutz 6b146566e6 [docs] QAnyStringView: remove the prediction that Qt 7 will drop L1
UTF-8 can never replace Latin-1 as the go-to US-ASCII superset,
because, as a variable-length encoding, it cannot use the important
size check in equality comparisons with UTF-16 to avoid having to
iterate the whole string data.

Mention that.

UTF-8 only makes sense in a UTF-8-only environment where the size
check works again. As long as our preferred charset is UTF-16, Latin-1
must be the preferred US-ASCII wrapper.

Pick-to: 6.4 6.3 6.2
Change-Id: Ibe52cfc0c9fce0e7aaacd4cd8d6361e8d8bdee3d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-23 20:40:59 +02:00
Timur Pocheptsov da951c9dbf QCocoaDrag: don't add pasteboard items with non-absolute URLs
AppKit rejects them and we end up with inconsistent number of pasteboard
items and drag images:

"NSURLs written to the pasteboard via NSPasteboardWriting must be absolute URLs."
"There are 1 items on the pasteboard, but 2 drag images."

Fixes: QTBUG-105711
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I7b1bc99f6e0b2b304f92f69125fb6af4ab5e303f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-23 07:59:19 +02:00
Yuhang Zhao 1270284f8d QSystemLibrary: Cache the system directory path
The system directory path won't change during the lifetime
of the application, so cache it to avoid querying it for
multiple times.

Change-Id: I302285794d491d581d74a93e7ba9affc6379c681
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-08-23 11:24:15 +08:00
Yuhang Zhao 00618db5ff QSystemLibrary: Use in-class initialization
Initialize the member variables in class. It's more modern and
also saves some typing in some constructor functions.

Change-Id: Ib4d942610a57e0af3f22248c00207d7cdb683763
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-23 11:24:06 +08:00
Ilya Fedin c2bcba0d3c Fix build without highdpiscaling feature
Fixes: QTBUG-104925
Pick-to: 6.4
Change-Id: Ieb5dd2194c54a61733c427c8a0ddf7576147d6ea
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-23 05:41:16 +04:00
Thiago Macieira f514ed7d76 QProcess/docs: add more information about environment variables
Fixes: QTBUG-42500
Pick-to: 6.4
Change-Id: Ie4bb662dcb274440ab8bfffd170a6a56977ef8b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
2022-08-22 14:37:26 -07:00
Volker Hilsheimer 5afb04d79b Mac: close popups opened on inactive application on relevant user action
On macOS, users can right-click into an inactive application to open a
context menu without activating the application. Qt handles a number of
events to close open popups (window deactivating or a mouse press
outside the popup), but none of those will get called when the
application is already inactive. So the popup might stay open (and on
top of the window stack) when the user clicks into other applications,
or activates another window.

To fix this we need to watch for events outside of the Qt application on
which we need to close the popup: when the user presses a mouse button,
or activates another application using Cmd-Tab. But we don't want to
monitor for key events, as that requires user permission. Use a global
event monitor to watch for mouse presses, and an notification observer
to watch for application activations, and respond by closing all popups
(and removing the monitor and observer again).

Use the monitor as well to watch for mouse moves, and pass only those
events through the Qt event system so that mouse tracking in the menu
works even if the application is inactive. This change brings back a
version of the global event monitor we had in Qt 5.15.

However, a press into our own menu will trigger the activation observer
after the application became active, which would now close the menu. We
don't want that, so we also need to remove the observer when the
application becomes active (which makes sense anyway, as we will get
regular events from then on).

Pick-to: 6.4 6.3 6.2
Fixes: QTBUG-105474
Change-Id: I18573fcda09a46c27730bd670a795f4d467aab01
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-22 20:10:13 +02:00
Volker Hilsheimer 03144190df Mac: close popups when the user clicks into the menubar
Otherwise it is possible to have a context menu and a menu from the
menu bar open at the same time. Native applications close the context
menu, but also block the click into the title bar. This change only
closes popups, the click goes through to the menubar.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-105474
Change-Id: I664c00eea83ba8fb43cc8a630d787f2d2b5b96ff
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2022-08-22 20:10:11 +02:00
Ilya Fedin cf6ab64f03 Move PreselectFirstFileInDirectory theme hint from QGtk3Theme to QGnomeTheme
It doesn't use any gtk API, so can live in QGnomeTheme

Pick-to: 6.4
Change-Id: Iff0391de6f01a03981f6e45b04fe9824fd2becfc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2022-08-22 09:20:04 +04:00
André de la Rocha 62d957f6aa Windows QPA: fix tree item discovery through UI Automation
This change reverts a workaround for a compatibility issue with
a Windows utility, which is no longer necessary with Qt6 and was
in some cases preventing accessibility tools from discovering
tree items.

This reverts commit 1c55a6caf1.

Fixes: QTBUG-105814
Pick-to: 6.4 6.3 6.2
Change-Id: Id464da49704b6953affca2fa40acc03f1ffd05ac
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2022-08-22 02:43:13 +02:00
Tor Arne Vestbø 3053df3366 Add some more logging to QFontDatabase
Change-Id: I5ac289cb7cb0beb842c403683681a739c44b26a1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2022-08-21 14:40:38 +02:00
Yuhang Zhao c519372dbf QSystemLibrary: Replace 0 with nullptr
Use modern C++ more.

Change-Id: I8ba2a6e95187976b7e4077bb39f05eab04a8575f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 19:04:51 +08:00
Marc Mutz c51c4aa2c5 [docs] QAnyStringView: mention automatic U8→L1 reclassification
...for US-ASCII literals.

Amends eaabd0c545.

Pick-to: 6.4
Task-number: QTBUG-101014
Change-Id: Id0acccb9bf2dfb01bca93f62da634e8dfe299fbc
Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:31:00 +02:00
Marc Mutz f8c23116bb Fix int/qsizetype mismatches in data url support
More int/qsizetype mismatches.

Task-number: QTBUG-103525
Pick-to: 6.4 6.3 6.2
Change-Id: I30723b6f59fa62dd7096110458305da7573ad345
Reviewed-by: Mate Barany <mate.barany@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:30:11 +02:00
Marc Mutz 35cbf52f0c Port QDir to qsizetype [1/3]: indexed to ranged loops
Indexed for loops are prone to int/qsizetype mismatches, so use ranged
for loops where possible.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: Ia3e97a6b2924f92d3f7fb1a7ae075b59188006e9
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:29:54 +02:00
Marc Mutz f06c41e729 QDir: fix non-idiomatic indexed loop counting
Counting backwards from two may be clever, and less to type, but it
raised this code reader's eyebrows, so use the formulation everyone
understands instead.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: I9416539e552e78e4777a744405b0773a9df1f6d0
Reviewed-by: Mate Barany <mate.barany@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2022-08-21 08:29:47 +02:00
Marc Mutz 4906b43b00 QCoreGlobalData: remove
Inline the data members into the only remaining user (qdir.cpp) and
remove the class.

As a drive-by, fix the non-idiomatic use of QT_BUILD_CORE_LIB to mean
!QT_BOOTSTRAPPED and apply the guard consistently to the declaration,
too.

Pick-to: 6.4 6.3 6.2
Fixes: QTBUG-105747
Change-Id: If2c780dd96e2a2e331cabdc42fd920874e7737b0
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-08-21 08:29:37 +02:00
Marc Mutz 48c5780d5f qdir.cpp: remove unused qresource.h
Probably amends f369be93a1.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-105747
Change-Id: I6b6d9c7d1193bdc1ec470f7d8c57b433ccee8e75
Reviewed-by: Mate Barany <mate.barany@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:29:29 +02:00
Marc Mutz eef0013086 QDirPrivate: pass input QList by cref
Unlike the mutable lvalue reference that was previously used to pass
it suggested, the input is never modified, so pass by const reference.

Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I5659fe5eab4a8953cd36134735e9e8fd9601f530
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:29:23 +02:00
Marc Mutz 84277dda00 QDir: replace an indexed loop with all_of()
Replaces ten LOC with int/qsizetype mismatches with two LOC with no
ints in sight.

For reviewers that don't know std::all_of: it's range conjunction aka
universal quantifier, which means it returns true for the empty set.

Task-number: QTBUG-103525
Pick-to: 6.4 6.3 6.2
Change-Id: I2423102631a66996b1faff7297c7fc365f0ffb12
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:29:17 +02:00
Marc Mutz d8561b1dea QDebug: finish porting to qsizetype/size_t
Port two variables from int/uint to qsizetype/size_t. These don't
cause problems, because their possible ranges are limited, however,
int/uint variables are a code smell these days, so replace them
nonetheless.

[ChangeLog][QtCore][QDebug] Fixed issues on 64-bit platforms when
streaming containers (incl. strings) of more than 2Gi elements.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: Ica6c5a6a062990306280fb713c47adb2053b752d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:29:11 +02:00
Marc Mutz db44800627 QContiguousCache: fix streaming into QDebug when indices are > INT_MAX
As usual, int/qsizetype mismatch.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: Ic5d9fb4fd42e4534ec0358ca7c4d79650c6ac919
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:29:04 +02:00
Marc Mutz bc2b8411c9 QDebug: finish porting put{String,ByteArray} to qsizetype
The underlying QTextStream seems to support qsizetype-sized data and
the private API of QDebug that is under consideration in this patch
takes size_t, but, as so often, there're int/uint casts in-between
that break things.

Widen the int/uint casts to qsizetype/size_t, respectively.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: I10bca093dc2d6f136871c94ca43f5b42fd1c8971
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:28:59 +02:00
Marc Mutz a888239cf1 QDebug: port putEscapedString() from int to size_t
All callers of the function pass size_t values, so remove the
impedance mismatch and preserve the value.

Adjust local variable runLength to qsizetype, because with this change
the int variable may now overflow, which would cause infinite looping.

Adjust callers to not perform narrowing conversions.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: I2a9d3301118855fc95245a55bf64de6c46fa2f51
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:28:51 +02:00
Marc Mutz bcc32bc112 Port QtDebugUtils::toPrintable() to qint64/qsizetype
Some callers pass qint64 arguments to the len parameter, so take the
size as qint64, not qsizetype, to avoid silent truncation.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-103525
Change-Id: I4bc5673297f24aea0cfc9d20887dc8a877743214
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-21 08:28:44 +02:00
Marc Mutz 52c5f28695 QBuffer: optimize setData(ptr, n)
The old code always created a new QByteArray, always allocating
memory.

The new call assigns the data to the existing QByteArray, enabling
potential re-use of the internal QByteArray's buffer. Since QByteArray
is missing the STL-style assign() function, abuse replace() for this
task.

Change-Id: I357f11bad0a976d4d0fb2faeb93f8b2262fa5a65
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2022-08-20 21:22:53 +02:00
Marc Mutz 817e47fbcd QBuffer: fix the setData() API re: int/qsizetype
The setData(ptr, n) overload was still taking the size as int.

Widen it.

Task-number: QTBUG-103525
Change-Id: If1d6d6404d62bbae5e0defea9a2115648c1fd5da
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2022-08-20 21:22:29 +02:00
Volker Hilsheimer 3be99799a6 Don't access QObjectPrivate::declarativeData unguarded
The QObjectPrivate::declarativeData member is stored in a union with
currentChildBeingDeleted. The QObject destructor always sets the
currentChildBeingDeleted member of the union. It also sets the
isDeletingChildren bool, which is the only way to find out which union
member we can safely access.

While the QObject destructor is deleting children and isDeletingChildren
is set, we must not access the declarativeData member of the union.

Add a test case that initializes the function pointers for the
declarative handlers and constructs a situation where an object
emits a signal while it is destroying children.

Fixes: QTBUG-105286
Pick-to: 6.4 6.3 6.3.2 6.2 5.15
Change-Id: Iea5ba2f7843b6926a8d157be166e6044d98d6c02
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-08-20 03:55:12 +02:00
Mikolaj Boc 503018ae07 Do not invalidate the entire window on window move on WASM
The invalidate on window move is redundant - the previous texture can
be reused for the window. Just request another refresh on the compositor
and don't update the window texture. Makes window moves smoother.

Pick-to: 6.4
Change-Id: Ied2922a000d3c8e6143e64d029154d74bc4f3480
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2022-08-20 02:51:34 +02:00
Mikolaj Boc 2a23652bbb Avoid image format conversion when drawing window nonclient area
This radically speeds up window resizing and dragging.

Fixes: QTBUG-105709
Pick-to: 6.4
Change-Id: I844601a5b139d21024db0c373482af18f350d0eb
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-08-20 01:16:41 +02:00
Alexey Edelev a2809d9ec1 Fix Multi-ABI builds when CMAKE_<C/CXX>_COMPILER_LAUNCHER contains list
Add list-escaping for CMAKE_<C/CXX>_COMPILER_LAUNCHER variables when
passing them to an external ABI-specific Android project.

Amends c7231177df

Pick-to: 6.3 6.4
Change-Id: I0c98eee6594c395dc6a37465a99ea32b1af39b84
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-19 23:53:11 +02:00
Mårten Nordheim 50f8a9578d QSslServer: Re-enable read notifications when a client times out
Otherwise new clients will not be handled when they try to connect

Amends 29a1fe72a0

Pick-to: 6.4
Change-Id: Ifff052d1bf27682df2782faa285a257c9b41d86f
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2022-08-19 23:53:11 +02:00
Ivan Solovev 18f0484a0e Rename QT_DEPRECATED_WARNINGS_SINCE -> QT_WARN_DEPRECATED_UP_TO
The new name describes the behavior in a better way.

[ChangeLog][Build System] The QT_DEPRECATED_WARNINGS_SINCE macro is
renamed to QT_WARN_DEPRECATED_UP_TO. The old name is deprecated, but
is still recognized if it is defined during configuration and the
new name is not defined.

Fixes: QTBUG-104944
Change-Id: I320c033010dfab120db6922598454f95169657f7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-19 23:52:05 +02:00
Ivan Solovev 3226c82740 Rename QT_DISABLE_DEPRECATED_BEFORE -> QT_DISABLE_DEPRECATED_UP_TO
The new name describes the behavior in a better way.

[ChangeLog][Build System] The QT_DISABLE_DEPRECATED_BEFORE macro is
renamed to QT_DISABLE_DEPRECATED_UP_TO. The old name is deprecated, but
is still recognized if it is defined during configuration and the new
name is not defined.

Task-number: QTBUG-104944
Change-Id: Ifc34323e0bbd9e3dc2f86c3e80d4d0940ebccbb8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2022-08-19 23:52:05 +02:00