summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Handle rhi init failures better in rhi backingstore flushLaszlo Agocs2023-07-311-0/+3
| | | | | | | | | | One may very well force a 3D API not functional. In this case there will be no QRhi. A bunch of warnings will be printed (which is good), but then flush() should not do anything, and that was not handled before. Pick-to: 6.6 6.5 Change-Id: I82139070311152c959d39a553842f4462d8e7811 Reviewed-by: Andy Nichols <[email protected]>
* rhi: metal: Centralize command buffer creationLaszlo Agocs2023-07-311-7/+22
| | | | | | | | ...and add a single toggle that can be used to switch between regular (auto-retaining) and unretaining command buffers. Change-Id: I9ef4b149f172415733e590e8320165358e29fa16 Reviewed-by: Andy Nichols <[email protected]>
* rhi: d3d12: Implement lastCompletedGpuTime via timestamp queriesLaszlo Agocs2023-07-312-3/+168
| | | | | | Change-Id: I5f2588268cf4d52025f9b1c8d94cdcd9a742531c Reviewed-by: Andy Nichols <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* Improve Intent source app detectionJens Trillmann2023-07-311-3/+12
| | | | | | | | | | | | | Activity.getReferrer does not only return app IDs but also URLs if Intent.EXTRA_REFERRER is set on the Intent. In the case of Chrome the referrer is set to the website triggering the Intent. To improve the detection of the calling app we check first if the browser specific Browser.EXTRAS_APPLICATION_ID is set. If it is not set we fall back to Intent.getReferrer. Pick-to: 6.6 6.5 Change-Id: I33d1edd52de98486d9616713e531ea20ada87bcb Reviewed-by: Assam Boudjelthia <[email protected]>
* QObject: replace _q_reregisterTimers with a lambdaAhmad Samir2023-07-313-17/+7
| | | | | | | | | | | | | | | - Pass the QList by value, no heap allocation and no plain new/delete - A lambda means that there isn't runtime string-based lookup to find the member method in QObjectPrivate The code is only a couple of lines and used in a single place, so might as well move the code from _q_reregisterTimers to the local lambda. Modify tst_moc to account for the numer of methods in QObjectPrivate changing. The test had hardcoded numbers. Change-Id: I07906fc7138b8e601e4695f8d2de1b5fdd88449c Reviewed-by: Thiago Macieira <[email protected]>
* doc: Fix QVulkanFunctions code snippetLaszlo Agocs2023-07-301-6/+4
| | | | | | | | | | | | Showing code that cannot possibly compile is bad practice. (vkAllocateCommandBuffers is in QVulkanDeviceFunctions, not QVulkanFunctions) Rather use a member function that is actually in QVulkanFunctions. Pick-to: 6.6 6.5 6.2 Change-Id: I3063a8a229152144ce866e915eb4c14ecc58e9ce Reviewed-by: Laszlo Agocs <[email protected]>
* rhi: metal: Disable MTLBinaryArchive usage regardless of OS versionLaszlo Agocs2023-07-301-27/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ironically enough when the old macOS 13 problem is no longer occurring (at least on an M1 Mini with 13.2.1), so the OS version based differentiation could likely be removed, there are now reports about problems with old Intel hardware and earlier OS versions. Therefore, get rid of the OS version based logic, and rather add a global flag that is enabled unconditionally for now, which disables MTLBinaryArchive usage altogether. How much we lose is not very clear anyway. The OS performs its own persistent caching (most likely), hidden from applications. Thus what we lose really is the fine grained control over the data (e.g. specifying a custom storage file via QQuickGraphicsConfiguration), with the possibility of pre-seeding for the first run. As the performance of subsequent runs is less likely to change in any significant way, this is seen as not a big deal for Apple hardware in general so we might just live with this. (and on macOS 13+ this was already crippled anyway due to the OS version logic) Pick-to: 6.6 6.5 Fixes: QTBUG-114338 Task-number: QTBUG-108216 Change-Id: If7b908baea2093f6882674ebfbdc18e770d6503e Reviewed-by: Tor Arne Vestbø <[email protected]>
* android backingstore: Drop out-of-date surface type checkLaszlo Agocs2023-07-281-6/+2
| | | | | | | | | | | Running a Vulkan-based QRhiWidget (upcoming in 6.7) and QQuickWidget shows the "...does not support OpenGL-only windows" warning which is pointless nowadays. Since Qt 6.4 RasterGLSurface is not in use, whereas the surface type can very well be VulkanSurface too. Pick-to: 6.6 6.5 Change-Id: I790767e683b2a4cffc99cbc38015aca809cf83c5 Reviewed-by: Assam Boudjelthia <[email protected]>
* rhi: d3d12: Clean up the warning shown when dxc libs are missingLaszlo Agocs2023-07-281-1/+1
| | | | | | | | | Since this was written we added support in windeployqt to find these DLLs similarly to how the old d3dcompiler_*.dll is bundled. Therefore, rephrase a little bit. Change-Id: I13eafea67607900307ff84da3323e84e066de9f8 Reviewed-by: Laszlo Agocs <[email protected]>
* cocoa: Handle VulkanSurface for backingstoresLaszlo Agocs2023-07-281-0/+1
| | | | | | | | Should be no different from MetalSurface and OpenGLSurface. Pick-to: 6.6 6.5 Change-Id: I529f2904a43e44376e9f2da2489fac57670d954d Reviewed-by: Tor Arne Vestbø <[email protected]>
* rhi: Add a note to sampler docs about mipmapsLaszlo Agocs2023-07-281-0/+8
| | | | | | | Fixes: QTBUG-115521 Pick-to: 6.6 Change-Id: I774cdc4d1b9e09624a9b5f9969eae5085b40a6c0 Reviewed-by: Laszlo Agocs <[email protected]>
* Clarify documentation about aboutToQuit being emitted with main loop runningTor Arne Vestbø2023-07-281-0/+6
| | | | | | | | | | | | | After 449b45ff34ce4a45e5d6a24967566f69f43ebbb6 we emit aboutToQuit before quitting the main event loop, matching the documentation and semantics of "about to". Clarify this in the documentation, so that client do not rely on a missing main event loop to trigger processing of root level deleteLater() calls in a nested event loop. Pick-to: 6.5 6.6 Change-Id: Ifd116394a1960814edf69f20c5aaff6a8e5cfc24 Reviewed-by: Jarek Kobus <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* Call QConfFileSettingsPrivate::initAccess normally on WASMMikolaj Boc2023-07-281-2/+0
| | | | | | | | | | | | QConfFileSettingsPrivate::initAccess is not async, as the commit introducing compile guards around initAccess in ctor of QConfFileSettingsPrivate suggests. Calling initAccess is necessary to read stats from a conf file. This makes 50 more tests in tst_qsettings pass. Task-number: QTBUG-115509 Change-Id: I99e8970413a14d7b595be23d42bf46faa26b3dd7 Reviewed-by: Lorn Potter <[email protected]>
* Refine QTimeZonePrivate::dataForLocalTime()Edward Welbourne2023-07-281-13/+21
| | | | | | | | | | | | | | | | | | We can use plain data() for the recent and imminent that are further from forLocalMSecs than its UTC equivalent can be: more than 99% of the time these shall agree and we can save some fiddly details. We can also use data(recent) as place-holder for the last transition's data, saving a need to call previousTransition() - which may be expensive (at least on Darwin). This avoids a quirk around minMSecs(), used by the MS backend for a fake transition, so marginally simplifies some initializations (and comments). It also gives us the information we need for the fall-back (when transitions don't help or aren't known), that uses the offsetFromUtc from recent and imminent, which the early data() values supply. Task-number: QTBUG-104012 Change-Id: I08403d129c0fec478b09de5b660f4a0a97b17148 Reviewed-by: Thiago Macieira <[email protected]>
* moc: handle "L" integer suffixFabian Kosmale2023-07-281-3/+9
| | | | | | | | | | | | | | | | This commit adds some initial support for handling the 'L' suffix after numbers. This one is especially important given that the __cplusplus define is using it. Other suffixes will be handled in some later commit, which should also unify the already divergent parse behavior between DIGIT and PP_DIGIT parsing (e.g. when it comes to byte prefixes). Task-number: QTBUG-83160 Task-number: QTBUG-115558 Pick-to: 6.6 6.5 6.2 Change-Id: Ie61eae49c468abfaee80e7e4f7097917a254dc0e Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* QColorDialog: Ignore mouse move events when no mouse button is pressedAxel Spoerl2023-07-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | mouseMoveEvent overrides in QColorLuminancePicker and QColorPicker have triggered value changes unconditionally. This happened under the assumption that the widget attribute WA_Hover is not set (which is the default behavior). In that case, mouseMoveEvents are only delivered if a button is pressed. If WA_Hover is set - e.g. by applying a style sheet - mouseMoveEvents get delivered also when no button is pressed. This leads to faulty behavior: The color and the luminance change, whenever the mouse is moved into the respective widget. Color/luminance are changed to the value representing the edge on which the mouse has left the area. This patch changes both mouseMoveEvent overrides. They return early to avoid hovering changing the colors of the luminance/color picker, but ignore() the event in case anything behind the picker needs hover. Since this is a purely graphical effect, an autotest was not added. Fixes: QTBUG-115516 Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I000d113a1c81c46799cbb5197bf9acb3849e7d3b Reviewed-by: Shawn Rutledge <[email protected]>
* Exclude VxWorks platform from stack trace generationKrzysztof Sommerfeld2023-07-271-2/+2
| | | | | Change-Id: I71c2e542ef144f544610edb9245dcbc38ea7db3f Reviewed-by: Thiago Macieira <[email protected]>
* Fix compilation of qfilesystemengine on VxWorksJacek Poplawski2023-07-271-0/+1
| | | | | Change-Id: I533f262bf6624008d216d96aa29ae2dfc4ba9195 Reviewed-by: Thiago Macieira <[email protected]>
* Return 0 in QWindow::winId in case of failed platform window creationWladimir Leuschner2023-07-271-0/+4
| | | | | | | Task-number: QTBUG-114613 Pick-to: 5.15 6.5 6.6 Change-Id: I93184d95f8f448ab115570a18cdb720449a0637d Reviewed-by: Tor Arne Vestbø <[email protected]>
* Resolve JSPI-related build problems on shared buildsMikolaj Boc2023-07-271-0/+21
| | | | | | | | | | Added dummy definitions of missing JSPI functions in qeventdispatcher_wasm.cpp. Fixes: QTBUG-115505 Change-Id: Ifb63960ef980905834808dddaf399adb2ca843cb Reviewed-by: Piotr Wierciński <[email protected]> Reviewed-by: Lorn Potter <[email protected]>
* Doc: Generalize statement about QLibrary::unload() and macOSKai Köhne2023-07-271-1/+3
| | | | | | | | | | | We dropped support for macOS 10.3 in Qt 4.6, 14 years ago. But the logic to only 'fake' the unloading on Q_OS_DARWIN remains. Also, add a statement explaining the behavior in more detail. Pick-to: 6.5 6.6 Change-Id: I62ec7df7c4b807f84c96619f78b3cef704c51335 Reviewed-by: Tor Arne Vestbø <[email protected]>
* windeployqt: Do not deploy insighttracker plugin by defaultOliver Wolff2023-07-271-4/+25
| | | | | | | | | | | | | | | | Qt insight's TP is using plugin type "generic" so that insight plugins can be deployed for every Qt application. As "generic" plugins are part of QtGui windeployqt deploys these if a dependency to QtGui is found. As defaulting to a deployment of insight plugins might cause confusion among users, we make deployment of these plugins explicit if the module is available. Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I9d2a8595373d5a15b7afbeaf7174226563b1cb6f Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Timothée Keller <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* Refine minor details in Darwin time-zone backendEdward Welbourne2023-07-261-4/+5
| | | | | | | | | | | | It's Darwin, no longer OS X. Include a link to the URL of NSTimeZone's docs. Use actuall Q_UNREACHABLE() rather than a comment. Correct a TODO comment (there *is* API for it, but fiddly). Make a lower bound constexpr rather than merely const. Task-number: QTBUG-104012 Change-Id: I9bf2018fa27ac9f6aa38eaebbf6b0f90ff5f6188 Reviewed-by: Thiago Macieira <[email protected]>
* Don't include resolv.h when libresolv is disabledJacek Poplawski2023-07-261-1/+4
| | | | | Change-Id: I5b216ed02452549b69847b34139613669905023c Reviewed-by: Thiago Macieira <[email protected]>
* VxWorks does not have byteswap.hJacek Poplawski2023-07-262-6/+15
| | | | | Change-Id: I9927fa64e76d59415d4974538383321c6dd6318b Reviewed-by: Thiago Macieira <[email protected]>
* QOpenGLWidget: invalidate the depth/stencil after renderingGiuseppe D'Angelo2023-07-261-18/+39
| | | | | | | | | We don't need them any more, only the color is used for compositing. In principle this enables a driver to not writeback their contents into main memory. Change-Id: Ibde17af6c14c98ebdca956aaf902dfd728f9219c Reviewed-by: Laszlo Agocs <[email protected]>
* QSet: document removeIfGiuseppe D'Angelo2023-07-251-0/+9
| | | | | | | | | The docs were never added (unlike the docs for erase_if). Change-Id: I7857c5eded68791ddfc4e6ce42a60d5736f5a438 Pick-to: 6.2 6.5 6.6 Fixes: QTBUG-115473 Reviewed-by: Thiago Macieira <[email protected]>
* QOpenGLWidget: use (and prefer) InvalidateFramebufferGiuseppe D'Angelo2023-07-253-14/+25
| | | | | | | | | | | | | | | | | | | | Desktop GL does not have the GL_EXT_discard_framebuffer extension at all. Instead, it may have GL_ARB_invalidate_subdata. Furthermore, GLES >= 3.0 and GL >= 4.3 both support FBO invalidation through glInvalidateFramebuffer. Extend the semantics of OpenGLExtension::DiscardFramebuffer to mean that *any* possibility above is supported, and wrap it in a helper function that calls whatever support is present. (This is all private API anyhow.) Technically speaking glInvalidateFramebuffer supports a superset of what glDiscardFramebufferEXT supports, but we never use such superset, and the two APIs are otherwise identical. Then, make QOpenGLWidget call that wrapper. Change-Id: I64e042daf51493d3834c3ba1b53ae6e224bbc4ed Reviewed-by: Laszlo Agocs <[email protected]>
* QIntegerForSize: fix check for 128-bit intsIvan Solovev2023-07-251-1/+1
| | | | | | | | | We do not need the Q_CC_GNU check, as the __SIZEOF_INT128__ check is enough. Pick-to: 6.6 Change-Id: I12bdd02186c4f5dad0ab3f4596f4b37e5c3f7eee Reviewed-by: Thiago Macieira <[email protected]>
* Make qYieldCpu() public APIThiago Macieira2023-07-258-47/+127
| | | | | | | | | | | Rewritten to be a bit simpler, added a few more yield/YieldProcessor alternatives, added RISC-V support. [ChangeLog][QtCore] Added qYieldCpu() function. Fixes: QTBUG-103014 Change-Id: I53335f845a1345299031fffd176f59032e7400f5 Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* QProperty: improve QPropertyAlias deprecationIvan Solovev2023-07-253-4/+13
| | | | | | | | | | | Use QT_DEPRECATED_VERSION_X_6_6 and provide reasons for deprecation for the enum value and for the QPropertyObserver constructor. Pick-to: 6.6 Change-Id: I0f9b4c6dc8bb9fd5eac692a6953c90059f3c77ef Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Marc Mutz <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Doc: add overview page for Qt's comparison typesDennis Oberst2023-07-251-3/+91
| | | | | | | | | | | Provide a centralized overview of Qt's comparison types, available for three-way comparisons. Fixes: QTBUG-114402 Change-Id: Ib7229e753ef750d00c208794d1feb3e6d42133ad Reviewed-by: Marc Mutz <[email protected]> Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Ivan Solovev <[email protected]>
* Add case for VxWorks platform in initLocale methodKrzysztof Sommerfeld2023-07-251-0/+2
| | | | | Change-Id: Ic0cef59d452c72340f6216c9ae3c261a24c2d296 Reviewed-by: Thiago Macieira <[email protected]>
* QNativeIpcKey: add qHash() functionDennis Oberst2023-07-252-0/+20
| | | | | | | | Equality comparable types should define a qHash() function. Pick-to: 6.6 Change-Id: I1677fbefa3d09d49a292d369b808793f884c32e9 Reviewed-by: Thiago Macieira <[email protected]>
* Add QStrongOrdering and QWeakOrderingDennis Oberst2023-07-252-21/+713
| | | | | | | | | | | | | | These new classes align with the criteria of std::strong_ordering and std::weak_ordering and were the missing types required by the three-way comparison operator. References: https://en.cppreference.com/w/cpp/utility/compare/strong_ordering https://en.cppreference.com/w/cpp/utility/compare/weak_ordering Change-Id: Ie6620ca98103800fd5504810dc5689c1dd1c2972 Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Marc Mutz <[email protected]>
* Clarify QElapsedTimer::hasExpired()'s documentationEdward Welbourne2023-07-251-4/+6
| | | | | | | | | | | The description in terms of timeouts was confusing. Instead, say what it actually does, in plain terms. Mention that you can do similar for a duration. Pick-to: 6.6 Task-number: QTBUG-115447 Change-Id: I4618d7fa290e7959ed3cb51e5c2576b041f77091 Reviewed-by: Thiago Macieira <[email protected]>
* Remove include ipc.h as it is no longer neededJacek Poplawski2023-07-241-4/+0
| | | | | Change-Id: I8b7c6744794f4369d6e27fdb454a059727413d9b Reviewed-by: Thiago Macieira <[email protected]>
* QThreadPipe & QEvent: use a simpler atomic operationThiago Macieira2023-07-242-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This causes modern compilers (i.e., not MSVC) to emit a single bit-test-and-set instruction instead of a cmpxchg. It's still an atomic operation, so it's not that much faster (if at all), but it has simpler encoding. Previous: 000000000026bca0 <QEventDispatcherUNIX::wakeUp()>: 26bca0: mov 0x8(%rdi),%rdx 26bca4: xor %eax,%eax 26bca6: mov $0x1,%ecx 26bcab: lock cmpxchg %ecx,0x98(%rdx) 26bcb3: jne 26bcc5 <QEventDispatcherUNIX::wakeUp()+0x25> 26bcb5: mov 0x90(%rdx),%edi 26bcbb: mov $0x1,%esi 26bcc0: jmp c01d0 <eventfd_write@plt> 26bcc5: ret Now: 26b3a0: mov 0x8(%rdi),%rax 26b3a4: lock btsl $0x0,0x98(%rax) 26b3ad: jae 26b3b0 <QEventDispatcherUNIX::wakeUp()+0x10> 26b3af: ret 26b3b0: mov 0x90(%rax),%edi 26b3b6: mov $0x1,%esi 26b3bb: jmp c11d0 <eventfd_write@plt> Change-Id: I53335f845a1345299031fffd176fa8ac1de3ad13 Reviewed-by: Fabian Kosmale <[email protected]>
* QEventDispatcherUNIX: remove the fallback to pipes on eventfd systemsThiago Macieira2023-07-242-26/+15
| | | | | | | | | | | | | | | | | Linux has had it since 2.6.23, which is positively ancient from our perspective. No one runs Qt on systems anywhere near that old (I'd be amazed if anyone managed on CentOS / RHEL 7, which carries Linux 3.10). And we don't deal with ENOSYS on FreeBSD either. The removal is accomplished by dead code elimination: it's still compiled on Linux and FreeBSD. Drive-by - use NSDMI in QThreadPipe - remove EINTR_LOOP for eventfd_write(3): it can't be interrupted Change-Id: I63b988479db546dabffcfffd1766e2c7acc6da46 Reviewed-by: Fabian Kosmale <[email protected]>
* QEventDispatcherUNIX: clean up old cruftThiago Macieira2023-07-241-10/+0
| | | | | | | All the timing related code is gone. Change-Id: I63b988479db546dabffcfffd1766e1f2618650c1 Reviewed-by: Fabian Kosmale <[email protected]>
* QEventDispatcherUNIX: convert "eventfd" feature to proper QT_CONFIGThiago Macieira2023-07-242-6/+5
| | | | | | | | | | | And mark it private. [ChangeLog][QtCore] Qt no longer sets the QT_NO_EVENTFD feature macro on systems without eventfd. Change-Id: I63b988479db546dabffcfffd1766e1df5255c930 Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* CMake: Fix installed metatypes not being propagated to other reposAlexandru Croitor2023-07-241-3/+1
| | | | | | | | | | | | | | | | | | | | | The install-time code path that's supposed to propagate and install the metatypes files was never executed, because of a wrong PARENT_SCOPE assignment and because the code was overriding the meta type file name retrieved from a property with an empty non-existent argument. This caused build failures in qtdeclarative when qmlcachegen generated invalid cpp code without having access to the qtbase foreign types. This only happened in prefix builds. Use the appropriate variable for the PARENT_SCOPE assignment and remove the incorrect file name assignment. Amends c45c32af32e5b7501065f294de67a5e6a3d1f62a Task-number: QTBUG-115152 Change-Id: I120d53d44382a1ac6f62792ec1620add3e7b136c Reviewed-by: Amir Masoud Abdol <[email protected]>
* QColorDialog: React to HSV values during manual edit instead of changeAxel Spoerl2023-07-241-1/+1
| | | | | | | | | | | | | | The existing signal connection can cause a loop and undefined behavior in the interaction between the line edit for a hex rgb color and the individual rgb values. => Change connection to textEdited, to react only on manual editing. Fixes: QTBUG-115189 Pick-to: 6.6 6.5 Change-Id: Ie3062c575652b905a8ab16edb2f5f77f8d150f36 Reviewed-by: Santhosh Kumar <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* QXmlStreamReader: Fix translation context of error messagesFriedemann Kleint2023-07-241-2/+2
| | | | | | | | | | | | QObject::tr() should not be used. Amends c4301be7d5f94852e1b17f2c2989d5ca807855d4. Task-number: QTBUG-92113 Task-number: QTBUG-95188 Pick-to: 6.6 6.5 Change-Id: I09547c3d048d6b3726e33be74b06035f0eec4f31 Reviewed-by: Axel Spoerl <[email protected]>
* Fix issue with qstorageinfo_unix.cpp not working on VxworksMarcin Zdunek2023-07-242-3/+37
| | | | | | | | | Problem was, that qstorageinfo_unix.cpp is using sys/statvfs.h header, but this header is not available in Vxworks(Vxworks has its own /sys/ directory).As this feature is not there in Vxworks, we are using a "_stub" file to omit whole implementation. This is the same solution as it was used for Qt5 for Vxworks. Change-Id: I1bc5a576e63f403c923cbc93571967184677305f Reviewed-by: Thiago Macieira <[email protected]>
* Remove usleep(), getpagesize() and getpwuid() from qfunctions_vxworksJacek Poplawski2023-07-242-49/+0
| | | | | | | This functionality is now available in VSB Change-Id: I761d73d8ae100b2e0eae8101479b325ddcbde6cc Reviewed-by: Thiago Macieira <[email protected]>
* QValidator: return State::Intermediate for certain trailing charactersAhmad Samir2023-07-242-3/+6
| | | | | | | | | | | | | | | | | E.g. a group separator, a -/+ sign, or 'e' (exponent). Input ending with one of these characters now returns Intermediate, as it can become Acceptable if the user types more characters. Remove a check from initialResultCheck(), as it's now covered by QLocaleData::validateChars() checking that the last character in the buffer is -/+, this works the same if buffer's size is 1. Extended unittests based on the linked bug report; the other cases for "last" are already covered by existing unittests. Task-number: QTBUG-111371 Change-Id: I9b6979c29f07a5f57b040004cd3dbf4e27147c21 Reviewed-by: Edward Welbourne <[email protected]>
* SQLDatabase: merge two global statics into oneChristian Ehrlicher2023-07-231-84/+51
| | | | | | | Merge the two global statics into one. Change-Id: I8a93ba848abe31527551313c8a4a449d05e3d680 Reviewed-by: Andy Shaw <[email protected]>
* SQL/PSQL: Handle jsonb operators in prepared queriesChristian Ehrlicher2023-07-236-3/+64
| | | | | | | | | | | | Add an option to disable handling of positional binding so jsonb operators are not screwed up [ChangeLog][QtSql][QSqlQuery] Add setEnablePositionalBinding() to be able to disable positional binding. Fixes: QTBUG-96636 Change-Id: I428a9d3b10274b97292ab86a74d9b3971d6f10e9 Reviewed-by: Andy Shaw <[email protected]>
* QTimer: add note about QT_NO_CONTEXTLESS_CONNECT to callOnTimeout docsAhmad Samir2023-07-231-2/+7
| | | | | | | | | Drive-by change: use \code, better formatting especially for longer lines of code. Change-Id: I90dbde17a5bea276c86304bff64027dd9d248a21 Reviewed-by: Giuseppe D'Angelo <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>