summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* QObjectPrivate::connectImpl: remove unnecessary check we've already doneThiago Macieira10 days1-1/+1
| | | | | | | | | We checked above that if the UniqueConnection bit is set, slot is not null. Pick-to: 6.10 6.8 Change-Id: I1a323f917be73c0653cefffd852e46ca8b0fa22f Reviewed-by: Ahmad Samir <[email protected]>
* QObject: use connectWarning() moreThiago Macieira10 days4-23/+24
| | | | | | | | Drive-by mark it cold, like the other error functions above it. Pick-to: 6.10 6.9 6.8 Change-Id: I2e4b0c0cad3d04ed7597fffd9616301fc736ed2e Reviewed-by: Ahmad Samir <[email protected]>
* QList::assign: optimize for empty std::initializer_listThiago Macieira10 days1-1/+6
| | | | | | | | | | | | | Happens often when one writes: l = {}; For the vast majority of cases, the size is a constant because the std::initializer_list is an automatic variable, so this should not result in extra conditionals in the code (in release mode, of course). Pick-to: 6.10 6.8 6.5 Change-Id: If90fc920810f42ab68e5fffdc7a254b2e3f709a7 Reviewed-by: Fabian Kosmale <[email protected]>
* tst_qlist: add a few more assign() testcasesThiago Macieira10 days1-1/+84
| | | | | | | | Especially assigning empty ranges. Task-number: QTBUG-141366 Change-Id: If63c491732ce29e82f38fffdc796fd4c5165763e Reviewed-by: Fabian Kosmale <[email protected]>
* tst_QList: add and test NoexceptMovableThiago Macieira10 days1-8/+120
| | | | | | | | | | | | | This is what Movable should have been: the move constructor and assignment operators are noexcept (the copy ones are too, but they didn't need to be). I'm not modifying the existing class because QList has behaviors that differ if the copy/move construction can throw, so it's best to test them both. Pick-to: 6.10 6.8 6.5 Task-number: QTBUG-141366 Change-Id: I00d7f390dc46b35ee78afffd1b591c8972280493 Reviewed-by: Fabian Kosmale <[email protected]>
* tst_QList: call the two-arg qHash() functionThiago Macieira10 days2-4/+9
| | | | | | | | | | The single-arg one is deprecated. Let's stop using them in tests. Drive-by test that hashes work for zero and non-zero seeds. Pick-to: 6.10 6.8 6.5 Change-Id: I5b32acf0797e9e62a5b7fffd1bc44f5372a044cf Reviewed-by: Fabian Kosmale <[email protected]>
* Docs: Fix QAndroidNativeInterface doc bugNicholas Bennett10 days1-2/+3
| | | | | | | | | | | Replaced QJniObject with QtJniTypes::Context Fixes: QTBUG-140208 Pick-to: 6.10 6.8 Change-Id: Id9567ae4b26a457bf8dc614fb29b64ed27b4063e Reviewed-by: Assam Boudjelthia <[email protected]> Reviewed-by: Rami Potinkara <[email protected]> Reviewed-by: Andrey Filipenkov <[email protected]>
* Test: timer - initialize static singleshot timer in initTestCaseTim Blechmann10 days1-4/+4
| | | | | | | | | | The helper object should be constructed/destructed symetrically in initTestCase/cleanupTestCase. Fixes a crash when using -repeat Pick-to: 6.10 Change-Id: I9a78799577d7a6beac4c787f2581872ef134ba7f Reviewed-by: Tor Arne Vestbø <[email protected]>
* tests: tst_QProcessEnvironment - allow test to run with -repeatTim Blechmann10 days1-1/+1
| | | | | | | | | The putenv caused test failures with -repeat. This is a little too strict and it would be more graceful to QSKIP instead. Pick-to: 6.10 Change-Id: I835ef384518f4f3c466feda6fc8cdf99d6f6deda Reviewed-by: Tor Arne Vestbø <[email protected]>
* Tests: tst_QScopeGuard - clear global state before each testTim Blechmann10 days1-1/+7
| | | | | | | | | s_globalState is not cleared before running each individual test. This causes failures with -repeat Pick-to: 6.10 Change-Id: Ia10722b5eda09cc5058949650c4ad541dae89c0d Reviewed-by: Tor Arne Vestbø <[email protected]>
* Tests: qhash - clear global variable use in stdHashImplTim Blechmann10 days1-0/+2
| | | | | | | | | | | | `StdHashUsed` is set in the stdHashImpl, but the test does not ensure that it is initialized before the test. This causes test failures with -repeat. Clearing the flag at the beginning of the test function fixes this behaviour. Pick-to: 6.10 Change-Id: I383611ce9368c6826cb5436a74e12bd73748491c Reviewed-by: Tor Arne Vestbø <[email protected]>
* test: tst_QResourceEngine - clean up registerNestedRccFileTim Blechmann10 days1-1/+13
| | | | | | | | | | | | | registerNestedRccFile did not clean up after itself, causing failures in repeated invocations. The string for a duplicate QResource::registerResource call was also, wrong, as multiple calls for the same resource are allowed (and in fact refcounted). Extending the test to unregister will fix -repeat and validates the resource unregistration. Pick-to: 6.10 Change-Id: I53df8174e099777888453f58cb1c94288cba0646 Reviewed-by: Tor Arne Vestbø <[email protected]>
* QAbstractItemView: Fix using declaration of update()Friedemann Kleint10 days1-1/+1
| | | | | | | | | | It is a QWidget method. PySide's shiboken6 code generator is a bit picky about the using declarations. Pick-to: 6.10 Fixes: PYSIDE-3219 Change-Id: Iafb2c2d8c0d66a38f6b48eef9a09f94f4fc25141 Reviewed-by: Richard Moe Gustavsen <[email protected]>
* Revert "Set QGuiApplicationPrivate::lastCursorPosition on Enter event"Shawn Rutledge10 days3-5/+0
| | | | | | | | | | | | | We probably still need to do this, but it seems to be somehow causing hover to be mishandled as press in some Qt Quick Controls autotests. This reverts commits 15a0a46d089477407a7ebfb46a952fb6f7548d3d and 24f40915a70ab7424806e842f8aeb3645fcd19e1. Task-number: QTBUG-141387 Task-number: QTBUG-141427 Change-Id: I1dc24a362cf1f93cc57ef4c8b6985abb000fa7ef Reviewed-by: Tor Arne Vestbø <[email protected]>
* macOS: Map function keys by their virtual key code, not MacRoman charsTor Arne Vestbø10 days1-85/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When mapping incoming key events to their possible key combinations for shortcut mapping we use UCKeyTranslate, or its modern Cocoa equivalent [NSEvent charactersByApplyingModifiers:] (which plumbs to UCKeyTranslate internally). When doing so for function keys, we get back characters codes such as 0x01 / ␁ / Start of Heading when pressing the Home key, or 0x04 / ␄ / End of Transmission when pressing the End key, which map to kHomeCharCode and kEndCharCode correspondingly in the MacRoman character codes table from HIToolBox's Events.h We used these MacRoman character code mappings to turn kHomeCharCode into Qt::Key_Home and kEndCharCode into Qt::Key_End. Surprisingly UCKeyTranslate/charactersByApplyingModifiers does not return the equivalent function key character codes from the NSEvent.h header, such as NSEndFunctionKey, even if the original NSEvent we're processing has this as the NSEvent.characters or NSEvent.charactersIgnoringModifiers, as reported here: https://developer.apple.com/forums/thread/803439 This is a problem because key events with the Control (^) key also (naturally) map to these character codes when fed through UCKeyTranslate, which resulted in matching shortcuts for Qt::Key_Home and Qt::Key_End if the user pressed Control+A or Control+D. Or even worse, if users had shortcuts registered for Ctrl+A and Home, or Ctrl+D and End, at the same time, these shortcuts would be considered ambiguous. To fix this we now map function keys via the keyboard layout independent virtual key codes from the same HIToolBox Events.h header, which ensures we only map real function keys during to Qt::Keys such as Qt::Key_End. Note that we still consider the keyboard-layout-mapped character codes for functions keys coming from NSEvent.h, in case there are layouts that explicitly map to these. Fixes: QTBUG-134441 Pick-to: 6.10 6.8 Change-Id: Iac8def7540247665562b438bf4af06b4347d33b0 Reviewed-by: Doris Verria <[email protected]>
* Testlib: batched tests - allow the registration of stateful functionsTim Blechmann11 days2-2/+2
| | | | | | | | | `qRegisterTestCase` only took a function pointer as argument. We change the signature to take a std::function object of the same signature. This will allow us to bind arguments to a callable object. Change-Id: I8c082ec5d11becbeae83344fadb10f4e6391a2d1 Reviewed-by: Tor Arne Vestbø <[email protected]>
* Windows11: Don't force highlightedText to be windowText in high contrastOliver Eftevaag11 days1-3/+0
| | | | | | | | | | | | | The style would overwrite the highlightedText color to be equal to the windowText for the active group. This would negatively impact styles in Qt Quick, whenever a QApplication was being used. The highlightedText color would not be correct. Task-number: QTBUG-140507 Pick-to: 6.10 Change-Id: I282971a4556d0b10d9e32af3514aa6f51800e35e Reviewed-by: Richard Moe Gustavsen <[email protected]> Reviewed-by: Wladimir Leuschner <[email protected]>
* Fix nullptr deref in QMenu::mouseReleaseEvent()Axel Spoerl11 days1-1/+1
| | | | | | | | | | 879eb2c08094a70683488d56520efd3a4cf1b086 introduced a nulltr deref. Amend the patch to fix it. Coverity-Id: 896788 Pick-to: 6.10 Change-Id: Ic05db9f5bfb67ece01a0e030400697d97712646e Reviewed-by: Marc Mutz <[email protected]>
* wasm: Set input field size to 1x1Even Oscar Andersen11 days1-2/+2
| | | | | | | | | | It seems, for 6.10.x, the size of the input field affects the user interface. Set to 1x1 to minimize the effect. Fixes: QTBUG-141054 Pick-to: 6.10 Change-Id: Id9cc0a84d7cf2f700c4df2155210569b1372e19f Reviewed-by: Morten Johan Sørvig <[email protected]>
* Update and expand Apple icon engine mappingsTor Arne Vestbø11 days1-93/+95
| | | | | | | | | Fixes: QTBUG-139964 Pick-to: 6.10 6.8 Done-with: Geoff Hutchison <[email protected]> Change-Id: I842e4be557de667fd3c1c244f4ff1caf2af482f2 Reviewed-by: Karolina Sofia Bang <[email protected]> Reviewed-by: Doris Verria <[email protected]>
* iOS: Guard QIOSDocumentPickerController outliving QIOSFileDialogTor Arne Vestbø11 days1-1/+12
| | | | | | | | | | | The document picker may outlive the QIOSFileDialog even if we've released it, if the system has retained it, and we might get delayed callbacks to e.g. documentPicker:didPickDocumentsAtURLs, in which case we'd crash. Pick-to: 6.10 6.8 6.5 Change-Id: Idc9f2f6d297332b91d25dc768d1defaf5bde8076 Reviewed-by: Doris Verria <[email protected]>
* macOS: Only set nameFieldStringValue for NSSavePanelTor Arne Vestbø11 days1-1/+2
| | | | | | | | | | | Even though NSOpenPanel is a subclass of NSSavePanel, it emits a warning when the property is set: Ignoring NSSavePanel method sent to NSOpenPanel: setNameFieldStringValue: Pick-to: 6.10 Change-Id: I9886f861797bab92a89cdaa361c0e6d8802053ee Reviewed-by: Doris Verria <[email protected]>
* Disable {position,resize}Automatic on first exposeTor Arne Vestbø11 days2-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Disabling automatic positioning/resize after platform window creation assumed that the platform window could synchronously determine the automatic position/size, either via QPlatformWindow::initialGeometry(), or via platform APIs. But for platforms like XCB, the automatic position is determined by the window manager when the window is first mapped. With the existing logic, we would end up overriding the position when QWidget would set size hints or resize the platform window during setVisible. We now defer the reset of {position,resize}Automatic until the expose event. Ideally we should do it only when the window is first shown, but we don't have a QWSI for tracking window visible-state. Amends 59d77a0162d92a9993b7bb4c593e88cbb8f8d9c8. Fixes: QTBUG-141099 Pick-to: 6.10 Change-Id: I53a0205c7fbddf922b030b3f4bd9b6ce5c4915b9 Reviewed-by: Liang Qi <[email protected]>
* macdeployqt: fix variable typo & scopeMoss Heim11 days2-5/+4
| | | | | | | | | | | Identiy->Identity Variable is not used in shared.cpp so can be made local in macdeployqt main. Pick-to: 6.10 Change-Id: I8893ea0570f41691972116ab0733580176a7b2ba Reviewed-by: Tor Arne Vestbø <[email protected]>
* Doc: Remove references to Qt 4 booksAlexei Cazacov11 days1-274/+3
| | | | | | | Fixes: QTBUG-140879 Pick-to: 6.10 Change-Id: Ia51db21a6922393affbd11f1749f64f49c0f8702 Reviewed-by: Jerome Pasion <[email protected]>
* tst_QDirListing: de-duplicate hidden files/dirs test codeAhmad Samir11 days1-23/+24
| | | | | | Pick-to: 6.10 6.8 Change-Id: I61cdc0bf84c9bb1154e51f8cfecd9cdb8fa9f813 Reviewed-by: Thiago Macieira <[email protected]>
* QPainterPath: Avoid division by zero in *AtPercentRobert Löhning11 days2-0/+37
| | | | | | | | | Without the added checks, the code divided by the paths' lengths which are zero. Pick-to: 6.10 6.8 Change-Id: I78a2066af96136635f85f4937619ff398a28072c Reviewed-by: Eirik Aavitsland <[email protected]>
* QStyleSheetStyle: don't draw SC_SliderGroove when not asked forChristian Ehrlicher12 days1-18/+17
| | | | | | | | | | The rules for QSlider: add/sub-page where drawn even though SC_SliderGroove was not given. Pick-to: 6.10 Fixes: QTBUG-141157 Change-Id: Ibdb22e18588c54f0f59be37fd6a430e74e0df762 Reviewed-by: Axel Spoerl <[email protected]>
* QGraphicsView tests: fix unittests for 'windows' styleChristian Ehrlicher12 days2-77/+85
| | | | | | | | | | | | | | | QGraphicsView::mapFromScene() returns the coordinates in viewport coordinates, the tests use them to trigger events in the view. Since the view might contain a frame around the viewport, the coordinates differ depending on the value of PM_DefaultFrameWidth. Some tests already had a fuzzing compare to not fail for a frame width of 1 but this does not work for a larger value. Some tests also set a fixed size for the view where the frame width was not considered which lead to unwanted scrollbars. Fixes: QTBUG-141079 Change-Id: If09898e08d5e5558825db461f02b6847ae90fa29 Reviewed-by: Richard Moe Gustavsen <[email protected]>
* Windows11Style: fix drawing disabled, checked QRadioButtonChristian Ehrlicher12 days1-3/+1
| | | | | | | | | | | A disabled, checked QRadioButton is not drawn as checked. This was introduced with a39047eeb6202a3c081d2441be9dc4f3d017fb97 Pick-to: 6.10 Task-number: QTBUG-139605 Fixes: QTBUG-140449 Change-Id: I2c34637b0ef51d619a81a78862021a76ae5b20a0 Reviewed-by: Axel Spoerl <[email protected]>
* tst_QUdpSocket: update the whitelisting of destinationAddress() supportThiago Macieira12 days1-27/+21
| | | | | | | | | | | | | | | | | | | | | | We had hardcoded Linux, Windows, and the BSDs (which includes macOS and FreeBSD), which are all OSes I can directly test. Instead of duplicating the checks everywhere and often not doing it properly, let's centralize with a static constexpr variable and a correct comment. In addition, it turns out that all platforms in our CI support receiving the IPv4 destination address. Indeed, QNX[1][2] and VxWorks documentations indicate they do have IP_RECVDSTADDR. Though, it looks like QNX fails to convey the destination address to a dual-stack IPv6 socket when the sender is IPv4. That's probably an OS bug. On FreeBSD, which also uses IP_RECVDSTADDR for IPv4, the ancillary data was present. [1] https://www.qnx.com/developers/docs/6.5.0SP1.update/com.qnx.doc.neutrino_lib_ref/i/ip_proto.html [2] https://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.neutrino.lib_ref/topic/i/ip_proto.html Change-Id: I6ee58e3f896e07c9eaa9fffdac51d092901ea855 Reviewed-by: Mårten Nordheim <[email protected]>
* QNativeSocketEngine/Unix: detect sockaddr_dl with AF_LINKThiago Macieira12 days1-3/+3
| | | | | | | | | | | | Instead of by proxy trying to guess that BSD systems have it and others don't. That's an incorrect assumption because QNX has this and IP_RECVIF, but isn't marked a Q_OS_BSD4. FreeBSD says sockaddr_dl should have .sdl_family = AF_LINK: http://fxr.watson.org/fxr/source/net/if_dl.h Change-Id: Ibe2777515c0f71285783fffd5c0094f622de34a9 Reviewed-by: Mårten Nordheim <[email protected]>
* QNativeSocketEngine/Unix: implement IP_RECVIF in setOption()Thiago Macieira12 days2-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This amends and complements abe269bb72233b360bccbc8f54d3f13e8dc10b5a, which added QNativeSocketEngine::ReceivePacketInformation and actually did implement the heretofore-dead code to handle the IP_RECVIF ancilary data in nativeReceiveDatagram(), but we never asked the OS for the information via setsockopt(). Similar to what e9778dfe6ead0c4d704570816a56aead084a0263 did for Windows. Tested on FreeBSD. dtruss says: socket(PF_INET,SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK,0) = 7 (0x7) setsockopt(7,SOL_SOCKET,SO_BROADCAST,0xb1cf40aece4,4) = 0 (0x0) setsockopt(7,IPPROTO_IP,IP_RECVDSTADDR,0xb1cf40aece4,4) = 0 (0x0) setsockopt(7,IPPROTO_IP,IP_RECVIF,0xb1cf40aece4,4) = 0 (0x0) setsockopt(7,IPPROTO_IP,IP_RECVTTL,0xb1cf40aece4,4) = 0 (0x0) bind(7,{ AF_INET 127.0.0.1:0 },16) = 0 (0x0) ... ppoll({ 7/POLLIN },1,{ 8.999999439 },0x0) = 1 (0x1) recvfrom(7,"@",1,MSG_PEEK,NULL,0x0) = 1 (0x1) recvmsg(7,{{ AF_INET 127.0.0.1:55621 },16,[{"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"...,1200}],1, { {level=IPPROTO_IP,type=IP_RECVDSTADDR,data={0x7f,0x00,0x00,0x01}}, {level=IPPROTO_IP,type=IP_RECVTTL,data={0x40}}, {level=IPPROTO_IP,type=IP_RECVIF,data={0x38,0x12,0x02,0x00,0x18,0x03,0x00,0x00,0x6c,0x6f,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} },120,0},0) = 600 (0x258) lldb decodes the sockaddr_dl as: (lldb) p *sdl (sockaddr_dl) { sdl_len = '8' sdl_family = '\x12' sdl_index = 2 sdl_type = '\x18' sdl_nlen = '\x03' sdl_alen = '\0' sdl_slen = '\0' sdl_data = "lo0" } And interface index 2 is lo0: lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384 options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 groups: lo nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> Change-Id: I37b88bfce40421117d99fffd1110eced5d102430 Reviewed-by: Mårten Nordheim <[email protected]>
* tst_qtjson: Increase stack size when run with ASanThiago Macieira12 days1-1/+21
| | | | | | | | | | | | | | | | | Amends 1756a84756807a9849aa507e77845dfdf31b8020, which added the "nesting" test. That has 1024 nested arrays, which should we should stop parsing on. Under normal circumstances, we do that just fine. But with ASan, the size of each stack frame is pretty large and we end up overflowing the 1 MB stack on Windows. So increase to 8 MB, matching Unix platforms. Fixes: QTBUG-140452 Pick-to: 6.10 6.8 Change-Id: I28de3084bba4b9216b5ffffdcbd69278ae663b5b Reviewed-by: Piotr Wierciński <[email protected]> Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* QMdiSubWindow: Respect null icon setting on MacEirik Aavitsland12 days1-1/+4
| | | | | | | | | | | | On Mac, a QMdiSubWindow title bar by default shows no icon. However, if an icon is then set on it, there would be no way to return to the initial no-icon-shown state. Setting a null icon would only result in the default window icon to be shown instead. This commit fixes that. Fixes: QTBUG-139345 Pick-to: 6.10 6.8 Change-Id: I456a2cbdc4b81312a2959bc0f84a1dd545908b1f Reviewed-by: Tor Arne Vestbø <[email protected]>
* Revert "QArrayDataOps::assign: improve for forward iterators (typical case)"Fabian Kosmale12 days2-48/+18
| | | | | | | | | This reverts commit 37b37cddb67febd595cb06b54ac08f1e676ead4d. Reason for revert: This caused QTBUG-141366 Change-Id: I1f878386e969f986bbd9c289b0b9a1fe8e9daaf7 Reviewed-by: Jani Heikkinen <[email protected]>
* tst_QDirListing: pre-sort two expected QStringListSAhmad Samir12 days1-10/+8
| | | | | | | | | | | | By invoking "sort alphabetically" in any decent text editor... this simplifies the test, and reduces the size of the next patch in the chain. Not picking to 6.5 because QDirListing doesn't exist there. Pick-to: 6.10 6.8 Change-Id: I42ed2dcbb9c23c1a72305f202091a6fa09ebfbaa Reviewed-by: Thiago Macieira <[email protected]>
* CMake: Refactor AUTOGEN and metatypes path functionsAlexandru Croitor12 days1-13/+32
| | | | | | | | | | | | | | | | | Extract code into two new functions: - _qt_internal_get_metatypes_build_dir - _qt_internal_get_target_autogen_info_dir Add some comments on what values they return. These will be adjusted in further changes, to help with CMake's shorter build paths feature. Pick-to: 6.8 6.10 Task-number: QTBUG-110696 Task-number: QTBUG-117413 Change-Id: I96251e9130b9e1e556dbd7ba1e7fe2362fcb623c Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Set CMAKE_POLICY_VERSION_MINIMUM with older Android NDKsAlexandru Croitor12 days5-0/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using CMake 3.31+ with Android NDKs older than r28, CMake shows the following deprecation warning: CMake Deprecation Warning at ndk/27.2.12479018/build/cmake/android.toolchain.cmake:35 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. This warning appears multiple times, when configuring Qt, user projects, try_compile calls, etc. That's because the Android NDK cmake toolchain file sets cmake_minimum_required(VERSION 3.6) unconditionally, which is less than 3.10. To avoid the warnings, we can set the CMAKE_POLICY_VERSION_MINIMUM variable or environment variable to 3.10. The variable can only be set in CMake 4.0+ though, so it won't help with CMake 3.31. The assignment has to be done in multiple places: - When detecting Android in QtAutoDetectHelpers.cmake - When generating the Qt toolchain file in QtToolchainHelpers.cmake - When doing try_compile calls in QtFeature.cmake - When doing test calls in QtRunCMakeTestWrappers.cmake To be on the safer side, the following opt-outs are provided: - QT_NO_SET_ANDROID_CMAKE_POLICY_VERSION_MINIMUM If set to true, the automatic setting of CMAKE_POLICY_VERSION_MINIMUM is disabled. - QT_ANDROID_CMAKE_POLICY_VERSION_MINIMUM A version to use instead of 3.10. - QT_NO_SET_RUN_CMAKE_TESTS_CMAKE_POLICY_VERSION_MINIMUM Disables the assignment for RunCMake tests. These are considered at various points in the code, rather than just once when configuring Qt. When using NDK r28 or newer, the toolchain file sets 3.10 itself, so no warning appears. Pick-to: 6.8 6.10 Change-Id: I47c6013f9cafed8836c32d2b726e75838c9d8779 Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Assam Boudjelthia <[email protected]>
* CMake: Use only working VS generators for qt_add_ui testsAlexandru Croitor12 days2-0/+36
| | | | | | | | | | | | | | | CMake 4.2 introduced a new VS generator "Visual Studio 18 2026". The qt_add_ui tests try to use the latest VS generator as reported by CMake, but the CI doesn't have that VS version installed and the tests end up failing. Try to configure an empty project with each attempted VS version, and only use one that actually works. Pick-to: 6.8 6.10 Change-Id: I1b65df2c91248499d671cbd916c25496515475f4 Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Add more compiler / linker identification infoAlexandru Croitor12 days1-0/+30
| | | | | | | | Useful when builders share logs. Pick-to: 6.8 6.10 Change-Id: I0091203f906aa5b43384c474f42fa555d1e86dba Reviewed-by: Alexey Edelev <[email protected]>
* Blacklist tst_QGraphicsProxyWidget::clickFocus on Windows 10Shawn Rutledge12 days1-0/+3
| | | | | | | | | | It begins failing if we set QGuiApplicationPrivate::lastCursorPosition in QGuiApplicationPrivate::processEnterEvent(). This makes no sense. Pick-to: 6.10 Task-number: QTBUG-141386 Change-Id: I63e929d2373c48f0a7ef70083f480248ed73d065 Reviewed-by: Shawn Rutledge <[email protected]>
* Set QGuiApplicationPrivate::lastCursorPosition on Enter eventShawn Rutledge12 days2-0/+2
| | | | | | | | | | | | | As soon as a window is shown, if it happens to be under the mouse cursor, lastCursorPosition should be set correctly. The fact that this was not done was masked in Qt Quick by the separate tracking of current mouse position in QQuickDeliveryAgent. We need the tracking to be reliable in QtGui so that Qt Quick does not need to do that. Pick-to: 6.10 Task-number: QTBUG-136976 Change-Id: Ida397beeb335bc054fd8a005c7dc65f2b7e48ffa Reviewed-by: Tor Arne Vestbø <[email protected]>
* wasm: a11y - Handle case where a child does not have a childIndexEven Oscar Andersen12 days1-13/+14
| | | | | | | | Some interfaces will return -1 for childIndex. Work around this by adding an explicit test. Change-Id: I703f20f8d57ed4cb7e69efd87e03c68eb30aec90 Reviewed-by: Morten Johan Sørvig <[email protected]>
* macOS: Add note about effect of [NSInputContext handleEvent:]Tor Arne Vestbø12 days1-0/+3
| | | | | Change-Id: Idf825418f522ce576c8530327c79c080a2925401 Reviewed-by: Richard Moe Gustavsen <[email protected]>
* Widgets: QMenu - do not start sloppy menu timer from QMenu APITim Blechmann12 days3-4/+53
| | | | | | | | | | When QMenu::setCurrentAction starts a timer for closing the menu again. This causes unexpected behaviour when calling QMenu::setCurrentAction, as it may unset the current action when this timer fires. Fixes: QTBUG-138956 Change-Id: Ia4d80455a04453d2e6b173a9d7e7c5df39e696ce Reviewed-by: Richard Moe Gustavsen <[email protected]>
* QSemaphore: stub out tryAcquire() for no-threadMorten Sørvig12 days1-1/+19
| | | | | | | | | Ammends 7075ac5bf6bf51a7538bf5c6592e2ff97f5c7cbe. Pick-to: 6.10 Fixes: QTBUG-141130 Change-Id: I699bb61832cded1b2f05d0138478e3d8c703f8f2 Reviewed-by: Thiago Macieira <[email protected]>
* QAbstractItemView: Make the keyboard search configurableChristian Kandeler12 days5-2/+48
| | | | | | | | | | | | Introduce a new property keyboardSearchFlags, so that keyboard search is no longer limited to prefix matching. [ChangeLog][QtWidgets][QAbstractItemView] The new property keyboardSearchFlags was introduced, allowing client code to do something other than a prefix search. Change-Id: Ic2408e51b15de0275c80936de66a07058ddf7132 Reviewed-by: Richard Moe Gustavsen <[email protected]>
* QChar: fix Clang 21 -Wcharacter-conversion warningsMarc Mutz12 days1-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | Clang 21 started warning about all conversions between charNN_t types (since fixed for char16_t → char32_t¹), and QChar appears to be the only header in QtBase that is affected by it. While char16_t → char32_t has already been fixed upstream, we ought to have our public headers clean of even this overzealous warning, so fix them by adding an explicit cast. I would have used 'char32_t{ucs}', but the warning is so buggy it's not fixed by braced initialization (filed as upstream bug report https://github.com/llvm/llvm-project/issues/164220). Interestingly, the warning does not trigger, for the same code, in constexpr function, but proactively "fix" those, too, so we don't need to re-touch these functions later. As a drive-by, remove the pointless inline keywords from these functions to make horizontal space for the cast. Done-with: Thiago Macieira <[email protected]> Task-number: QTBUG-141204 Pick-to: 6.10 6.8 6.5 Change-Id: I2a9e46ea4f327fb554418c4649d189a98e15ffae Reviewed-by: Edward Welbourne <[email protected]>
* Mark QTZP::NamePrefixMatch's operator bool() as constEdward Welbourne12 days1-1/+1
| | | | | | | | When I added it I forgot to specify that it doesn't change *this. Amends commit d13e9a1ae53ee53c4929bc88d578a02eec4b2dc4 Change-Id: Ie94ff05fc19f696688dd8ccbfa9a352086d0cc94 Reviewed-by: Mate Barany <[email protected]>