Commit Graph

66683 Commits (7f320dddc1f65188b997b1a2b334ac0f2d11afd4)

Author SHA1 Message Date
Morten Sørvig 7f320dddc1 Fix feature dependencies for sharedmemory
The sharedmemory example depends on systemsemaphore
as well.

Change-Id: I0937e6429589f715ec446ac1337e21cb23cdf92b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
2024-04-17 10:06:44 +00:00
Morten Sørvig 7ba4486e7e wasm: log using emscripten_log() by default
Log using emscripten_log by default, unless
QT_FORCE_STDERR_LOGGING has been set.

It is now possible to log at different levels:

   qDebug() -> Info
   qWarning() -> Warning
   qCritical() -> Error

#ifdef out functions which are now no longer in use
on Q_OS_WASM

Change-Id: I0485e5c070069998a8dfc6759c02bc3b7d6a8a4b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2024-04-17 10:06:19 +00:00
Morten Sørvig d570293bb8 Warn on setHighDpiScaleFactorRoundingPolicy misuse
The rounding policy is used to calculate QScreen geometry
during startup. Changing it afterwards is not supported
since we don't have an update mechanism.

This restriction is already documented but printing
a warning makes sense since this is easy to miss.

Fixes: QTBUG-123102
Change-Id: Ib88511e61abbf97436a13dc5d38d3d1fbd5aab2c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2024-04-17 10:06:10 +00:00
Morten Sørvig b4090305d0 wasm: introduce QT_BUILD_WASM_BATCHED_TESTS
We are selecting a subset of the tests for batching/CI,
however this is done for the WASM configuration which
interferes with non-batched tests.

- we can only build and run tests which are in the
batching subset
- we are enabling threading tests which breaks the
no-thread configuration.

Add QT_BUILD_WASM_BATCHED_TESTS and enable for WASM and
batching. There's then no restrictions on which tests
can be selected for CI.

Change-Id: I59a67b63e80cd00676cb28f916951d2a52b0ee2c
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-04-17 12:02:09 +02:00
Andrei Golubev 0f5f1bfeff Extract metatype information as part of library finalization
Make qt_finalize_target call qt6_extract_metatypes() on any library
targets if the finalization is deferred and the target uses automoc.

This makes sure the metatype information is always available when
necessary (e.g. in QML's foreign types setting).

[ChangeLog][CMake][Important Behavior Changes] With CMake 3.19 or later
qt_extract_metatypes() is automatically called during target
finalization for libraries that use automoc now. This has no
effect if you've already manually called qt_extract_metatypes() before,
but it does make sure that the metatypes are also generated if you
haven't.

Task-number: QTBUG-121199
Fixes: QTBUG-101143
Fixes: QTBUG-99051
Change-Id: If72ce5887a9cd71a4c15e9509b2eaab5af271adf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-04-17 11:53:13 +02:00
Ulf Hermann 674dfdf226 Network: Add Q_GADGET to types exposed in signals and slots
In order to build a complete graph of metaobjects via properties and
methods we need to know about all argument and return types as
metaobjecs. Such a graph is desirable for reasoning about the
consistency of the type system.

Task-number: QTBUG-101143
Change-Id: Ic4e2f58a4275df06178437c6d45270f3f2aa5ce6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-04-17 09:53:04 +00:00
Christian Ehrlicher d77ba8cb59 QStyle: deprecate PM_DialogButtons* enums
The threee enumerations
 - PM_DialogButtonsSeparator
 - PM_DialogButtonsButtonWidth
 - PM_DialogButtonsButtonHeight
Are not documented since Qt3 times and also not used anywhere. Therefore
deprecated them and remove the logic to handle them.

Change-Id: Ia59fe15482e744123e7fbf04b8d44661afb58b5c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-04-17 04:38:40 +02:00
Volker Hilsheimer 960867566a QTableView: fix infinite loop when resizing rows/columns on model reset
When a slot is connected to the modelReset signal before the model is
set on the view, then such a slot might try to resize the columns or
rows to fit the contents before the view had a chance to perform layout
work.

In that case, the while-loop that calculated the size hint of a rows
(or column) by checking the size hint of each cell might not exit, as
cached information about visual indexes would be invalid.

To prevent this, don't loop over the cells if the actual last row/column
of the model (after the reset) is less than the first (cached) visible
row/column. Also, make sure we increase the counter for number of
rows/columns processed with each iteration.

Add a test (that loops infinitely without the fix, resulting in the
test being killed by the framework), and make the 'actual' variables
constant for clarity.

Fixes: QTBUG-124301
Pick-to: 6.7
Change-Id: I0adb2f1e8a1e78760ef7c19e9686c9572eca8be6
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-04-17 04:38:33 +02:00
Fabian Kosmale 62d02c1d50 moc: Treat number + characters as Identifier, not Number
While <DIGIT>+<Character> is not a valid identifier by itself in the C++
language, it might become one when using it with the token pasting
operator.

This risks confusing some number literals with suffix as Identifiers,
but those are currently not supported anyway, so this shouldn't break
anything that is currently working.

Fixes: QTBUG-87219
Fixes: QTBUG-124288
Pick-to: 6.7
Change-Id: If73255cc0e6649bc90c52b1d177aac8ff975ae69
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-04-17 04:38:22 +02:00
Christian Ehrlicher 001d88ae38 Doc: don't use deprecated function in QMenu snippets
QMouseEvent::globalPos() is deprecated - replace it with
QMouseEvent::globalPosition().toPoint()

Pick-to: 6.7 6.6 6.5
Fixes: QTBUG-124343
Change-Id: I6f862a9a640da11d756dae58ffae8c6d7fc24e02
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
2024-04-17 04:38:14 +02:00
Christian Ehrlicher b6624877c6 SQLite: Update SQLite to v3.45.3
[ChangeLog][Third-Party Code] Updated SQLite to v3.45.3

Pick-to: 5.15 6.2 6.5 6.7
Change-Id: I8a58699f10cada8b33d47c3032861fa6ef1b6cc9
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2024-04-17 04:38:06 +02:00
Volker Hilsheimer a623293a13 Baseline testing: use a full screen background behind the test window
Some tests are flaky on macOS because the background desktop shows
through the rounded corner of the test window. We cannot reliably
control this on each platform, so instead make the test window a
secondary window with a second, fullscreen and frameless window as the
transient parent. This way, we have full control over the background
pixels that might show through (semi-)transparent parts of the test
window.

Pick-to: 6.7
Change-Id: I44b7e834797b46fa8b44d776f6b91c99536a6cc9
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-04-17 04:37:58 +02:00
Samuli Piippo a030795bc9 Revert "Always destroy OpenGL context when the window is destroyed"
This reverts commit 220afb358f.

The change caused segfault after menus or dialogs were closed.
The global raster compositing context is still being used by root
window and cannot be deleted from child window.

Pick-to: 6.7
Fixes: QTBUG-123962
Change-Id: Ie88925052f0f424617382388c587ae47570d13a7
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2024-04-17 00:38:08 +03:00
Anton Kudryavtsev bd4d2786af qicc: avoid implict detach
Change-Id: I3bca1460257ddb44004e85d153351fba52b0c8c3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2024-04-17 00:03:52 +03:00
Ulf Hermann 551acf40ae Gui: Add Q_GADGET to QPlatformScreen
It's exposed in the QPlatformSystemTrayIcon::contextMenuRequested()
signal. In order to make sense of it on meta object level, it needs a
Q_GADGET.

Task-number: QTBUG-101143
Change-Id: I327d31f36e2cf3460398e328b26e9e5e5edec45e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-04-16 21:57:06 +02:00
Tor Arne Vestbø f6777af17d Revert "CMake: Improve Xcode projects for single SDK builds on Apple platforms"
This reverts commit 5898e0e4f1.

Likely broke a CMake deployment test in qtdeclarative.

Change-Id: I90c8343f0657845dd514e573b7333f441b70cc9e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-04-16 19:57:06 +00:00
Giuseppe D'Angelo e52883d77d QImageReader: use QFile::open return value
The code was already OK because it used QFile::isOpen to check
if open() succeeded or not. In preparation for making open()
[[nodiscard]], refactor the code to just use its return value.

Change-Id: Ibab86ca894103f01ff3b6084caedb3117ffb6c7e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2024-04-16 21:57:06 +02:00
Laszlo Agocs e55f6f0e01 rhi: multiview manual test: exercise passing through gl_ViewIndex
Change-Id: Iee9a29250061ca57ea30e3e545d1a6de952c1852
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2024-04-16 21:57:06 +02:00
Vladimir Belyavsky d914c58c7e QTextLayout: keep strong reference on font engine in a layout loop
This is speculative fix for the crashes in QTextLine::layout_helper()
we're observing on users side.

The possible reason is in that fontEngine and previousGlyphFontEngine,
which are stored in LBH, became invalid during the layout cycle
(destroyed by trimming font cache?).

To prevent this we need to handle font engine's ref-counter
gracefully, so just wrap them into QExplicitlySharedDataPointer.

As a drive-by change, use in-class initialization for LBH members.

Task-number: QTBUG-117500
Pick-to: 5.15 6.2 6.5 6.7
Change-Id: I6987a2b5618bb4ba8762f2ef01b4ce0dd60cb232
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2024-04-16 19:28:45 +00:00
Joerg Bornemann aeaaff1d5c Revert "CMake: Fix *-metatypes.json creation, take III"
This reverts commit 654f3c5634.

That commit enabled a work-around for CMake upstream issue #19005 for
Visual Studio project generators. It turns out that this is not actually
needed, and that the work-around causes unnecessary rebuilds.

Fixes: QTBUG-121046
Pick-to: 6.5 6.6 6.7
Change-Id: Ie502e2df999a204ab09d28322017be3c7ed8ebc5
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-04-16 21:28:45 +02:00
Laszlo Agocs 7aaa6a6044 Correct the internal signatures in the GL 4.5 func wrappers
There are 9 functions in the 4.5 API that were initially specified
to use GLsizei, but later "magically" became GLsizeiptr (i.e.
64-bit or 32-bit depending on the arch).

The current gl.xml, unlike old ones, uses GLsizeiptr, as do the
extension headers and most of the online docs, except some that of the
reference pages are stuck with GLsizei.

Assuming that today's OpenGL implementations expect GLsizeiptr, fix
the the internal signatures, so that calling into the GL implementation
is done using the correct argument sizes.

In addition, add GLsizeiptr signatures in the public API guarded with
>= QT_VERSION(7, 0, 0).

Pick-to: 6.7 6.6 6.5
Fixes: QTBUG-67807
Change-Id: Ifc7e97b0479a186000a56709c37ba7f77b6f1ff2
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2024-04-16 13:31:07 +02:00
Piotr Wierciński 655b98482e wasm: Abort network request on destruction of QNetworkReply
Deleting QNetworkReply is a common way to cancel pending request.
Wasm implementation was not treating it properly.

Task-number: QTBUG-124111
Pick-to: 6.7
Change-Id: I46d8624e323fca0932411c575922415d9f9d7986
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
2024-04-16 11:16:17 +00:00
Marc Mutz 7bff20c9f5 QSignalSpy: prepare for de-inlining
Rename qsignalspy.qdoc to .cpp, include qsignalspy.h and add the
namespace macros.

Task-number: QTBUG-123544
Change-Id: Ibd89844018afc277e6a69e7200cdbd08befd4da2
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2024-04-16 11:01:31 +02:00
Thiago Macieira 8381a4b44f tst_QVariant: fix stringification of char16_t and char32_t
QVariant::toUInt() cannot convert from those two, so we always ended up
with 0, producing lots of duplicated test rows.

Pick-to: 6.7
Fixes: QTBUG-124349
Change-Id: Ie28eadac333c4bcd8c08fffd17c5a3e39a2cc3f6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2024-04-15 23:50:51 -07:00
Thiago Macieira 848451095b tst_QVariant: remove duplicate rows from compareNumerics
Task-number: QTBUG-124349
Pick-to: 6.7
Change-Id: Ie28eadac333c4bcd8c08fffd17c5a3d824fe76ec
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2024-04-15 23:50:51 -07:00
Thiago Macieira d204ea9873 tst_QVariant: fix copy & paste error in double-float comparisons
We wanted to test the (min,max) of each of the two types, but one of the
four combinations wasn't correctly done.

Task-number: QTBUG-124349
Pick-to: 6.7
Change-Id: Ie28eadac333c4bcd8c08fffd17c5a3ccb4205139
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2024-04-15 23:50:51 -07:00
Volker Hilsheimer 359df32300 Android: don't call JNI_OnLoad for libraries opened with QLibrary
JNI_OnLoad gets called automatically by the JVM when it loads a shared
library. A native library that is loaded by native code shouldn't have
it's JNI_OnLoad entry point function called, as that would indicate
that the plugin is loaded by the JVM, which it is not.

If framework or application code requires that function to be called
(and wants to perform error handling, such as closing the library again
if the function returns JNI_ERR), then that can and should be done
explicitly.

[ChangeLog][Android][QLibrary] Loading a shared library with QLibrary
no longer implicily calls a JNI_OnLoad implementation.

Fixes: QTBUG-92007
Pick-to: 6.7
Change-Id: I9aa71ec73b950029e0ae1be7d54e1c8576f356ab
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-04-16 04:23:05 +02:00
Morten Sørvig 8ba043cbaf wasm: move wasm tests to own subdirectories
Match the standard one-test-per-directory setup.

Change-Id: I0e29e3c5626ef5f739b1680d53a2a74f0c77f9be
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-04-15 19:28:47 +02:00
Giuseppe D'Angelo 9fd895e3c1 tst_moc: handle QFile::open failures from non-test functions
Code that sets a test function up should not be fallible, or should be
designed to log the failure. In tst_moc this is not the case --
QFile::open is called from within a nested lambda. If that fails, print
the error and return an empty optional.

Task-number: QTBUG-123623
Change-Id: I8372a6ac7dc22e68d145fa2215fe04ba682ac81b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-04-14 08:07:48 +02:00
Giuseppe D'Angelo 4183fa4c0b Tools: handle file opening failure
Most of the cases, a file handle (stdin/out) is opened without checking
for error. That operation may still fail, so check for it.

Change-Id: I30c3e7b40858acd8b1662622129bd6557722dccd
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-04-14 00:04:26 +02:00
Ahmad Samir 2a7c71bef0 tst_bench_qdiriterator: fix build on VxWorks
By removing fs::directory_options::skip_permission_denied which isn't
available on VxWorks.

It's not strictly needed for the benchmark. I had added it to test
locally by listing some dirs under '/' (not all of them are readable for
users), and saw no reason at the time to remove it. The benchmark itself
listing dirs in the qtbase source dir tree.

Pick-to: 6.7
Task-number: QTBUG-115777
Change-Id: I4e68d01abd707dbf553f0a5832739ef0f4c9d585
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-04-13 23:37:35 +02:00
Christian Ehrlicher 56ec0f94b3 QTableView: fix cornerWidget connection
A click on the corner widget should select all items, not reset the
selection. This was accidentally added with
3e144bdc74.

Pick-to: 6.7
Fixes: QTBUG-124267
Change-Id: Ie20b7cf0ff730214dca80116ad888f42c2b7a670
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-04-13 18:53:53 +02:00
Ahmad Samir 60f15da3ca tst_qstandardpaths: check the return value of QFile::open
If QFile::open() fails in any of the these helper functions, the test
should fail.

Task-number: QTBUG-123623
Change-Id: I3e4d65eccd3be32eed673d9607ef468ddc0fd6e5
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2024-04-13 14:47:14 +02:00
Even Oscar Andersen c0fdd4b451 wasm: Add auto test for qfile
Problems:
* mmap of size 0 works, add test in QFSFileEnginePrivate::map to
  make sure wasm platform behaves as the other platforms
* qwe// is a valid filename on wasm, QSKIP test
* applicationFilePath does not exist on wasm.
* /dev/zero does not exist on wasm, file bug, skip test
* blocking pipes do not exist on wasm, QSKIP test
* socketpair does not exist on wasm, QSKIP test

Change-Id: I1705c543782cbcb92a7ebed2fc2792613524c686
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-04-13 11:32:17 +01:00
Axel Spoerl 3e049f0655 Revert "QStyleSheetStyle: Propagate CE_ItemViewItem drawing to baseStyle"
This reverts commit f39f2bfe0b.

Reason for revert: Breaks styling of treeview indicators.

Pick-to: 6.7 6.6 6.5
Task-number: QTBUG-123632
Change-Id: I7922f58a9a1ace40ba788571a297443c1900baf2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-04-13 07:24:54 +00:00
Volker Hilsheimer 285294b684 macOS: support shortcut for Ctrl-modified Tab
Ctrl+(Shift/Option/Cmd)+Tab presses are not handled as a regular key
events, and are not seen by our NSView.keyDown implementation. But
they are delivered to a performKeyEquivalent implementation, so if we
see a Tab key being pressed with the Ctrl modifier down, then send
a shortcut event and stop processing if that event got accepted by Qt.

Pick-to: 6.7
Fixes: QTBUG-113492
Task-number: QTBUG-8596
Change-Id: Id3aa7021a689b94d97eb881b19ddf7cb039e1bd2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-04-13 09:24:41 +02:00
Thiago Macieira d4c7da9a07 CBOR: fix sorting of UTF16-to-UTF16 strings
This amends commit 394788c68e (its
ChangeLog applies to this commit too). That fixed sorting of UTF8-to-
UTF16, but when adding more unit tests, I've discovered that some UTF-16
strings also sorted incorrectly. There were two problems:

First, we were assuming that we could rely on the UTF-16 length as a
proxy for the UTF-8 one, but that's not true for some cases:
* both 1-, 2- and 3-codepoint UTF-8 sequences are 1 codepoint
  in UTF-16, so some strings would have identical UTF-16 length
* 4-codepoint UTF-8 sequences shrink to 2-codepoint UTF-16 ones
  (2:1) but 3-codepoint UTF-8 sequences shrink to 1 (3:1), so
  some strings would be longer in UTF-16 but shorter in UTF-8.

Second, QtPrivate::compareStrings performs UTF-16 codepoint comparisons
not Unicode character ones, so surrogate pairs were sorting before
U+E000 to U+FFFF.

To fix all of this, we need to decode the UTF-16 string into UTF-32 and
calculate the length of that in UTF-8 to be sure we have the sorting
order right.

Since this is a slight behavior change with a performance penalty, I am
choosing to backport only to 6.7. The penalty mostly does not apply to
6.8 due to commit 61556627f2.

Pick-to: 6.7
Change-Id: If1bf59ecbe014b569ba1fffd17c4c4ddcc874aac
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2024-04-12 21:41:16 -07:00
Thiago Macieira 8e5ce9cd36 CBOR: implement faster comparison for equality in strings
If we don't need to sort, then we can use QtPrivate::equalStrings() to
get a few cycles of performance per string comparison.

Change-Id: I5f663c2f9f4149af84fefffd17c03d9b52ca696e
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2024-04-12 21:41:16 -07:00
Tim Blechmann edc2d41456 CMake: qt_internal_add_test - fix BLACKLIST file handling
Not all tests have targets that we can attach the BLACKLIST files to.

Pick-to: 6.7
Change-Id: Ie0a2d72859877a8803802a4f7dc996944f002656
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-04-13 08:18:36 +08:00
Giuseppe D'Angelo c68f8db62b Tests: make some QFile::open calls fail
In some cases calls to QFile::open are made outside of a testfunction
(so we can't use QVERIFY), or even in standalone executables that are
executed by tests. Make them fail "visibly".

Change-Id: Iec4d56f6d874be16aa2e9ad6974eeec2a98caa3f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-04-13 01:36:06 +02:00
Jarkko Koivikko 223b92490e print: windows: Fix setting page orientation
Previously when PPK_Orientation property was set, updateMetrics() was
called before doReinit() and updateMetrics() used physical dimensions
of the DC initialized with previous orientation, which resulted in
miscalculation of m_paintRectPixels, origin_x and origin_y variables.

This bug manifested itself as all sorts of weird behavior, such as
unexpected margins when changing paper size and printing beyond paper
margins.

Pick-to: 6.7 6.5
Change-Id: I2d0e104bee11165e3541e7f3119b29edd4b882c8
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2024-04-12 19:55:46 +00:00
Gary Wang 5a775fc5f7 WindowsIconEngine: Use the correct icon for document-properties
Currently the icon used by document-properties is a gear icon, on
Windows, the actual icon used by explorer's context menu for the
properties menu option is the wrench icon. This patch change the icon to
the wrench icon.

Fixes: QTBUG-124085
Pick-to: 6.7
Change-Id: Ife49ad64d23b73b7676bc39330887e2cb320dcf9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-04-12 19:55:30 +00:00
Allan Sandfeld Jensen 25c96d547b Add CMYK support to QColorSpace
[ChangeLog][QtGui][QColorSpace] Support for CMYK color spaces has been
added.

Change-Id: I2c684dbeee8b97fc90ca4e2a892349a7fa465d06
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2024-04-12 21:53:54 +02:00
Even Oscar Andersen e794894ece :wasm Fix not possible to type tab character in TextEdit
qinputcontrol refused to accept the character since
text part of key was empty

This caused the tabkey to always switch focus instead

Fixes: QTBUG-12423
Change-Id: I9ea7f02831cc88479b4e15d25eac278547f6f711
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-04-12 17:31:51 +00:00
Tatiana Borisova 92cc21b389 QCborMap iterators: use new comparison helper macros
New comparison macros are used for following classes:
- QCborMap::Iterator
- QCborMap::ConstIterator

Replace public operators operator==(), operator!=(), operator!<(), etc
of classes to friend methods comparesEqual(), compareThreeWay();

Use *_helper methods to have an access to protected members of
QCborValueConstRef class from friend functions.

Task-number: QTBUG-120300
Change-Id: I71b6febaf3f31ea7ba668d91c375b0a7b6827d21
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2024-04-12 19:31:51 +02:00
Tatiana Borisova de2a467a77 QJsonObject iterators: use new comparison helper macros
New comparison macros are used for following classes:
- QJsonObject::iterator
- QJsonObject::const_iterator

Replace public operators operator==(), operator!=(), operator!<(), etc
of classes to friend methods comparesEqual(), compareThreeWay();

Use *_helper methods to have an access to protected members of
QCborValueConstRef class from friend functions.

Task-number: QTBUG-120300
Change-Id: I308e2c0a549ff186c1d6339b38e989b80dc388a3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-04-12 19:31:51 +02:00
Ivan Solovev 4f6600ee65 Skip tst_qcomparehelpers_cpp23 on Linux arm
Because it causes issues in the CI

Pick-to: 6.7
Change-Id: I8cd232abf1c4ee1d9417a8bff9aa3bcf5f893e8f
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-04-12 19:31:51 +02:00
Assam Boudjelthia 44072f43ed Android: blacklist tst_QWidget::setParentChangesFocus
This fails on Android 8, and we want to get Android 8 bump into the CI.

Pick-to: 6.7
Task-number: QTBUG-124291
Change-Id: I179880c38d155df82bcb772f546104d956326647
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
2024-04-12 20:12:18 +03:00
Hatem ElKharashy aabb133d07 Tweak the margin value of QOutlineMapper clip rect
The original change was introduced to fix performance regression due to
the increased value of QT_RASTER_COORD_LIMIT. The optimization was done
by clipping anything outside the device rect plus a small margin.
However, setting the margin to a small value caused a regression, where the
rasterization became slightly different from the previous implementation.

Fixes: QTBUG-123054
Pick-to: 6.7 6.5 6.2
Change-Id: Ic4fddea89cd5f6e5760dc4a91b1f2f59527e8e5c
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2024-04-12 20:12:18 +03:00
Jan Arve Sæther ddc80cc63d Implement QWindowContainer::minimumSizeHint()
It will return the minimumSize of the underlying QWindow.
The container can then be put inside QLayouts without risking to be
shrunk to a smaller size than the QWindow::minimumSize.
Whenever the QWindow::minimumWidth or QWindow::minimumHeight changes, we call QWindowContainer::updateGeometry(), which will make the layout re-query QWindowContainer::minimumSizeHint() again.

Task-number: QTBUG-121798
Change-Id: Ib7ece7d9d75f2e4964ca9042d8d8b95ce3b17739
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-04-12 17:12:18 +00:00