summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Docs: fix warning from old QCheckBox::checkStateChanged overloadVolker Hilsheimer4 days1-0/+5
| | | | | | | | | | | | | The overload carrying the new state as an integer is deprecated, but still documented, so we need to document the parameter as well. Bring the full documentation back to silence the warning. Amends 5a96d13bb5abd5339cf21dd1de7a17152c71f0fc. Pick-to: 6.7 Change-Id: I5253e68e4ad7b42fc552feb958cc0ac40d685609 Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* QResource: add support for duplicating mapped memory on macOSThiago Macieira5 days1-0/+22
| | | | | | | | | | | | | | | Similar to the Linux solution, this avoids allocating heap memory in the implementation of QFile::map() calls with MapPrivateOption. Unlike the Linux solution, the macOS one cannot duplicate resources present in read-only sections of binaries, only those loaded from files with mmap() (QResource::registerResource()), because the max_prot setting on the source does not have the VM_PROT_WRITE bit set and I could not find a way to reset it to force a copy-on-write. Change-Id: I6979d02a7395405cbf23fffd17c951949c71ec20 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QResource: add support for duplicating mapped memory on LinuxThiago Macieira5 days1-3/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | This makes QResourceFileEngine avoid allocating heap memory in the implementation of QFile::map() calls with MapPrivateOption. We do that by asking the kernel to duplicate the mapping to the same memory pages, which increases our virtual memory space but doesn't initially take up any more RAM. We have to be careful to ensure the resulting mapping is copy-on-write and that this setting is independent of the original map's. The former is easy: the mremap() system call with MREMAP_DONTUNMAP only works on private memory blocks, so by definition any private + writable block is copy-on-write. The latter is slightly more difficult: if the original block was already writable, then the kernel could give us a new map to the exact same pages[*], which isn't exactly helpful. Therefore, we need to check if the QResourceRoot points to a private, read-only block. [*] in those conditions, mremap() is documented to replace the original mapping with a zero page, which means we have a near certainty of crashing, instead of accidentally, silently corrupting memory. Change-Id: I6979d02a7395405cbf23fffd17c90fb1f1612ed7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QVersionNumber: use new comparison helper macrosTatiana Borisova5 days2-18/+15
| | | | | | | | | | Replace public friend operators operator==(), operator!=(), operator<(), etc of QVersionNumber to friend methods comparesEqual() / compareThreeWay(). Task-number: QTBUG-120304 Change-Id: Ib94a1a28ca9843ca5d5a8d07f41c63de9fe584bb Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* QLineEdit: set object names for actionsChristian Ehrlicher5 days1-0/+7
| | | | | | | | | | | | Set object names for actions created by createStandardContextMenu() to be able to access them from the outside. Use the same naming schema as by QWidgetTextControl::createStandardContextMenu() (used by QTextEdit and others). Pick-to: 6.7 6.5 Fixes: QTBUG-112721 Change-Id: Id92f1ba13e7f7e8b1d531678895902374114d167 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* rhi: Replace deprecated MTLRenderPipelineDescriptor.sampleCountTor Arne Vestbø5 days1-1/+1
| | | | | Change-Id: I47c64416e9ba089c2f23dcebf63a26988bb1d0a7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* JNI: Mark tech preview API as suchVolker Hilsheimer5 days4-7/+13
| | | | | | | | | | | | | | Retrofit the QT_TECH_PREVIEW_API macro into the JNI classes and helper constructs that are not yet documented, and which can only become publicly documented once the full JNI type system with the type registration infrastructure is documented. We can remove the tagging in dev once we have documentation and are ready to move this functionality out of TP, presumably for Qt 6.8. Pick-to: 6.7 Change-Id: I235e57b8e57c2d04be72b4c842131d99a5f83d9e Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Extend QTest::failOnWarning() to a no-parameter fail-on-any-warningEdward Welbourne5 days4-1/+31
| | | | | | | | | | | | | | | | | | | | Many users (albeit mostly in qtdeclarative) of failOnWarning() are passing a catch-all regexp, which is only supported when regular expression support is enabled. Make their lives easier and those checks independent of the feature by adding a third overload, taking no parameter, that fails on any (unanticipated) warning. Implementation is trivial - just put a null QVariant in failOnWarningList; it won't match either check on the entry that might exempt a test from failing on a warning, so any warning at all will trigger failure. [ChangeLog][QtTest] QTest::failOnWarning() now has a no-parameter overload to support the common case of fail-on-any-warning, without needing to construct a match-everything regular expression. Change-Id: Ic693f1c8619fd6e495543b85737d566134cf9d20 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Pass QDateTimeParser::SectionNode by value, not const refEdward Welbourne5 days4-8/+6
| | | | | | | | | It's trivially copyable and fits into a (128-bit) register. Delete one spurious line from a \internal doc in the process. Task-number: QTBUG-122619 Change-Id: I55bd39f176f58e0dcd0ecc86e88bd29d449c7fd7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Document calendar setting of QCalendarWidget and QDateTimeEditEdward Welbourne5 days2-0/+33
| | | | | | | | | | | | | It seems this was neglected in 5.14, when the methods were added. The calendar setting is also not a Q_PROPERTY; and hadn't been tested until recently. This follows up on commit 2dee00621632ab8acd0b3d59bdba264afe2f32c1 Pick-to: 6.7 6.5 Task-number: QTBUG-115200 Change-Id: I9625bf54d05a55a40867847bd58130be90e78271 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QBuffer: resolve todo / use QByteArray::assignMårten Nordheim5 days1-2/+1
| | | | | | | | | It no longer lacks assign Change-Id: Ib96dec54e8d9fd0f182a9a26692a5504993fb622 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Dennis Oberst <dennis.oberst@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QIOSDocumentPicker: Directly add UTTypes to document types arrayDoris Verria5 days1-4/+4
| | | | | | | | | We don't need to create UTTypes from identifiers when we can now directly add the UTType to the array. In fact this way was causing an exception since it couldn't cast a UTType to a NSString type. Change-Id: I34d44422c102df84a625945af218b9c25c1a6895 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QIOSTextInputOverlay: Use new presentationWindow to access keyWindowDoris Verria5 days1-1/+1
| | | | | | | | | Accessing the keyWindow through UIApplication keyWindow was causing a crash. Fixes: QTBUG-125089 Change-Id: Ie02afd7875b490c1f72ff2e827ffa2204d0e9e81 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QMetaProperty: limit QMetaEnum resolution to enums known to QMetaTypeMårten Nordheim5 days1-2/+2
| | | | | | | | | | | | | | | | | | Since we don't know ahead of time if a property's type is an enum or a flag we have to resolve it at runtime. In a QMetaProperty-heavy application this overhead can be quite dramatic given that we mark anything that is not a built-in as a potential flag/enum. However, QMetaType already knows if it's an enum, so we can use that to return early if it's not known to the meta-type system. To add to this - Q_PROPERTY requires that a type is fully defined, so there are no issues with forward declarations for the enums. Change-Id: Ifecc7f1e6cdef416e3ce72ee705eb26e682071cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Docs: silence documentation warning in QFusionStyleVolker Hilsheimer5 days1-1/+1
| | | | | | | | QFusionStyle::iconFromTheme is not a reimplementation of a virtual function, so document it as internal instead of \reimp. Change-Id: I676de4aa68c41af8982e55d8bcf24a7cdc202c7c Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Fix test compilation issues with QtLite configurationJari Helaakoski5 days3-3/+7
| | | | | | | | | | Now developer build tests compile, but some are not working. Functional fix will come later via separate tasks. Task-number: QTBUG-122999 Change-Id: I70487b46c1b32ba4279cb02a4978e4f55ac0d310 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* wasm: Enable building WebAssembly platform plugin as shared libraryPiotr Wierciński5 days1-1/+0
| | | | | | | | Fixes: QTBUG-121924 Change-Id: I20a4a41a16ac3d7855f359df020564bfc7435c57 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
* QRegularExpression: use modernize comparisonsTatiana Borisova5 days3-25/+31
| | | | | | | | | | | | | Replace class operators operator==(), operator!=() of QRegularExpression to friend method comparesEqual() and Q_DECLARE_EQUALITY_COMPARABLE macro. Use QT_CORE_REMOVED_SINCE and removed_api.cpp to get rid of current comparison methods and replace them with a friend. Task-number: QTBUG-120304 Change-Id: Ib6fc83d29ad9bc710c2fdf32a3d60131fbf298b6 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* QDialogButtonBox: properly clear buttons in setStandardButtons()Christian Ehrlicher6 days1-4/+4
| | | | | | | | | | | | | When setting new buttons with setStandardButtons(), the old ones are deleted by iterating over d->standardButtonHash. But this hash is modified when a button is destroyed and therefore sometimes not all buttons were deleted. This amends df735d794fd2e545c18b9e345e833422bcd64329. Fixes: QTBUG-123939 Pick-to: 6.7 6.5 Change-Id: I867086855cfde88a7b22a5579662f250b9db0042 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Add QHttpHeaders methods to QNetworkProxyLena Biliaieva8 days2-0/+51
| | | | | | | | | | | [ChangeLog][QtNetwork][QNetworkProxy] Added headers() and setHeaders() methods to QNetworkProxy to provide an interface to work with QHttpHeaders. Task-number: QTBUG-107751 Change-Id: I8a82f56f0262c9f44d0cb52b2e411bf75626b926 Reviewed-by: Juha Vuolle <juha.vuolle@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QCommonStyle: Fix painting arrows when size is evenChristian Ehrlicher8 days1-26/+32
| | | | | | | | | | | | | | | Rework the painting code to not use floating point numbers and make sure the tip of the arrow is painted with one or two points (depending on the size is odd or even) so the arrow is always symmetric. Therefore also no anti-aliasing is needed. Sadly the dpr scaling and also QPainter::drawPolygon() screw things up a little bit with such small sizes, therefore do the dpr handling by ourself to get nice results. Pick-to: 6.7 Fixes: QTBUG-124554 Task-number: QTBUG-114539 Change-Id: I8ab8c2ce3ceb90af5d7c3a0dfeec7f7445e92a4d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QDebug support to QHttpPartMate Barany8 days2-0/+46
| | | | | | | | | | | | | | | | | | As part of QTBUG-114647 we are planning to introduce a deduction mechanism that could deduce the contentType header and the contentDisposition headers based on the arguments (and the MIME database). In case of non-trivial types this deduction may give the wrong result and without QDebug support it might be a bit tedious to check. The debug output displays some information about the body device if one is attached, otherwise it displays the size of the body. Task-number: QTBUG-114647 Change-Id: Ia693b078ff5b9f8ea57fbf3c385edaec47886ff1 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QDataStream::readBytes: guard against integer overflowIvan Solovev8 days1-1/+3
| | | | | | | | | | | | | | | The step variable changes in the geometric progression, which means that it may overflow at some point. Since it is a qsizetype (signed 64 or 32 bit integer), the overflow would be UB, so we need to avoid it. Add an extra check that the step is lower than the safe threshold before increasing it. Amends a1bfac287ee5d3719646d68dc91dc8e8e4cec04e. Pick-to: 6.7 Change-Id: I6097986e614937fa88b31b3dd1e53ecff22533d7 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows 11 style: simplify code to polish paletteVolker Hilsheimer8 days3-60/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two cases in which we let the style polish a palette: - after merging the system palette and the style's standard palette - or when a widget-class specific palette gets set A style needs to know which colors of the palette it can safely overwrite with style-specific preferences. For that to work, we need to reset the resolve mask of the synthesized palette (first case) to 0 before polishing. Palettes set explicitly by application code will then have resolve bits set, and the polishing can respect those colors and not overwrite them. Simplify the polish() implementation then to check whether the respective color's resolve bit is set, and only overwrite it with the style's preferred color if the bit is clear. Move that logic into a macro for simplification. This amends b733d31f275d09ca81b5e347ca1e9b6c9b216cd4 and makes sure that colors that are set by the application explicitly don't get overridden by the style. Task-number: QTBUG-124490 Task-number: QTBUG-124286 Change-Id: I69e1e3da93f661ebdafee0b62adbb3d411322443 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Windows: handle theme changes synchronously when settings changeVolker Hilsheimer8 days1-1/+1
| | | | | | | | | | | | The handleSettingsChange handler is usually already executed through the event loop. And if it is called directly e.g. when changing settings programmatically, then all side effects of the change should be in effect immediately. Task-number: QTBUG-124490 Change-Id: I243772860b1137ef9fe712c4b0d1c88593d2bdb4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows: simplify setting the dark borderVolker Hilsheimer8 days2-17/+2
| | | | | | | | | | | | | | | A round trip through querying the window attribute to avoid a call to the setter is overkill, we can assume that the setter won't do anything if the value of the attribute doesn't change. Also, don't check whether QWindowsIntegration::darkModeHandling is overridden before calling setDarkMode, which checks that flag already. The flag will be very rarely cleared (and we might want to remove support for this obscure mechanism soon). Task-number: QTBUG-124490 Change-Id: I7e027fd53f556200edfd127eaf5f2b97f027528e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* rhi: metal: Reduce staging copy size for full-width texture uploadsLaszlo Agocs8 days1-6/+7
| | | | | | | Pick-to: 6.7 6.6 6.5 Task-number: QTBUG-120565 Change-Id: I3f11796e0cfd7261885cec04695665b2266082f8 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* rhi: gl: Avoid a copy in partial texture uploadsLaszlo Agocs8 days1-1/+9
| | | | | | | Pick-to: 6.7 6.6 6.5 Task-number: QTBUG-120565 Change-Id: I7f1f8c42b98c5743708c4ff80e401070d8ab24ac Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Update macOS URL handling documentationJuha Vuolle8 days1-4/+5
| | | | | | | | macOS has now similar support for https and custom uri schemes as iOS. Fixes: QTBUG-124340 Change-Id: Ie17237c9625bac5cf110f06df99f1b94bf5ded42 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Add support for custom uri scheme handlingJuha Vuolle8 days1-1/+13
| | | | | | | | | | | | | | | | With this support applications can claim to be handler for specific custom scheme URLs such as "com.my.app" This requires that the scheme is listed in the plist file (CFBundleURLTypes and CFBundleURLSchemes). One notable usage example is the use of OAuth redirect_uris. [ChangeLog][macOS] Added support for custom uri scheme handling Task-number: QTBUG-124340 Change-Id: Ia04e9b89b53ee6f24129f9dd5ee8fbc5c0f0516c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Add support for universal links / https uri scheme handlingJuha Vuolle8 days3-0/+45
| | | | | | | | | | | | | | | With this support applications can claim to be handler for specific https URLs. This requires that an appropriate AASA (apple-app-site-association) JSON file is hosted and accessible. One notable usage example is the use of OAuth redirect_uris, which are often required to use "https" URI scheme. [ChangeLog][macOS] Added support for https/universal links handling Task-number: QTBUG-124340 Change-Id: I91c725fcf209b295dc1b2687a52cd0a547aff1c8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QNetworkProxy/libproxy: don't overwrite the user-provided protocol tagThiago Macieira8 days1-2/+4
| | | | | | | | | Otherwise, we always query for "tcp://somehost" even when the user provided a tag like "https", which has a reasonable chance of being resolved. Change-Id: I262c3499666e4f4fbcfbfffd17cbbbe74346b167 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* SOCKS5: remove '###' from the error messageThiago Macieira8 days1-1/+1
| | | | | | | | There's no reason for it to be there. Pick-to: 6.5 6.7 Change-Id: I262c3499666e4f4fbcfbfffd17cbbcfcd798b100 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QResource: add support for memory mapping on WindowsThiago Macieira9 days1-0/+16
| | | | | Change-Id: I6979d02a7395405cbf23fffd17c90b446cba1486 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QResource: re-factor the memory-mapping code into two helper functionsThiago Macieira9 days1-41/+47
| | | | | | | So I can more easily extend to Windows support and to reuse them later. Change-Id: I6979d02a7395405cbf23fffd17c90b32dbbddd94 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* QResource: move the internal classes to unnamed namespacesThiago Macieira9 days1-1/+6
| | | | | | | | | | So the compiler has more opportunities to inline and to not emit out-of- line copies. Pick-to: 6.7 Change-Id: I6979d02a7395405cbf23fffd17c9101b2b52472a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* QResource: obey the MapPrivateOption option to provide RW memoryThiago Macieira9 days1-1/+16
| | | | | | | | | | | | | | | | | | | | | The documentation says: The mapping will have the same open mode as the file (read and/or write), except when using MapPrivateOption, in which case it is always possible to write to the mapped memory. So obey it. This may cause high memory use by copying data we already have. This may be important because applications may want to memory-map resources which they intentionally didn't compress because those resources are large. Later commits will implement some workarounds. Fixes: QTBUG-124608 Pick-to: 6.7 6.6 6.5 Change-Id: I6979d02a7395405cbf23fffd17c8f03baf0ec00d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QResource: simplify map() to rely on the uncompressed data being thereThiago Macieira9 days1-7/+8
| | | | | | | | | We can only call map() if we've already called open() and that will decompress the data. Pick-to: 6.5 6.6 6.7 Change-Id: I6979d02a7395405cbf23fffd17c8f1f77ca92b2b Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* qtconfigmacros.h: add missing include: we use QT_VERSION_CHECKThiago Macieira9 days1-0/+1
| | | | | | | | | | Amends 3a6c8e02b6d1b0574da52b0087092d0c74aa92c1, which introduced this check. Fixes: QTBUG-124869 Change-Id: I262c3499666e4f4fbcfbfffd17cacbb6025150da Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* qdbusxml2cpp: don't track command lineSamuli Piippo9 days1-1/+1
| | | | | | | | | | | | Generate source code without information about original location of the source file. Useful for reproducible builds. Task-number: QTBUG-105926 Task-number: QTBUG-105913 Change-Id: I33b24e11773c8ad3489cc84df3c42b43a6116378 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
* QRestReply: allow comments where white-space is allowedMarc Mutz9 days1-8/+56
| | | | | | | | | | | | | This is RFC2822 grammar (except that line folding is not allowed). RFC9110 doesn't allow it anymore, but it might make sense to accept it nonetheless (Postel's Law). Pick-to: 6.7 Task-number: QTBUG-123544 Change-Id: Ie990cd332c7603dbdae29c19b2804bd33a058ca0 Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* QtPrivate::Continuation: add missing Q_DISABLE_COPY(_MOVE)Marc Mutz9 days1-0/+1
| | | | | | | | | | | | This polymorphic class is not designed for copying or moving, so statically assert that it isn't moved or copied. Amends dfaca09e85a49d2983bb89893bfbe1ba4c19eab4. Pick-to: 6.7 Task-number: QTBUG-124909 Change-Id: I6a4fe460adf9bf903578601e500ccc697a3f7c96 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QHttpHeaders methods to QNetworkCacheMetaDataLena Biliaieva9 days5-41/+119
| | | | | | | | | | | [ChangeLog][QtNetwork][QNetworkCacheMetaData] Added headers() and setHeaders() methods to QNetworkCacheMetaData to provide an interface to work with QHttpHeaders. Task-number: QTBUG-107751 Change-Id: I1dfed5c2e03f4912de0da96156425cd6b713c1d5 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* Fix crash in QMainWindow:.tabifiedDockWidgets()Axel Spoerl9 days1-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | QMainWindow:.tabifiedDockWidgets() was refactored in Qt 6.6.3, because it returned wrong values. It now loops from 0 to QMainWindowTabBar::count() and uses QMainWindowTabBar::dockAt(), to get the dock widget pointer for an index. When a dock widget is removed from a floating tab, event processing is necessary for the item_list and QMainWindowTabBar::count() to get in sync. This case was overlooked in the refactoring. It can lead to dockAt() being called with an out-of-bounds index, which it asserted. The assertion triggered, when QMainWindow::removeDockWidget() and QMainWindow::tabifiedDockWidgets() were called right after each other, without processing events inbetween. QMainWindowTabBar::dockWidgets() doesn't add nullptr to the list, it returns. Therefore, return nullptr, when dockAt() is called out-of-bounds. Add test functionality in tst_QDockWidget::updateTabBarOnVisibilityChanged(). Fixes: QTBUG-124262 Pick-to: 6.7 6.5 Change-Id: If66084b9f00b4e39f7a620da68df67c735029cf1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QSql/IBase: fix compilationChristian Ehrlicher9 days1-0/+1
| | | | | | | | Looks like the CI does not compile the IBase/Firebird plugin so this compile error slipped through. Change-Id: I2e20088e10baa91f2e1e5e2b5656dfb7bdf42896 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* QThread: relax memory semantics from seq_cst on interruptionRequestedThiago Macieira9 days2-4/+4
| | | | | | | | Amends a0faf9e23666d4aa26a93d6e9ebf420e71d5e6c2. Pick-to: 6.7 Change-Id: I262c3499666e4f4fbcfbfffd17cb1e141ad104d8 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QNAM: Prepare protocol handlers for local socketMårten Nordheim9 days4-24/+24
| | | | | | | | | + a small stretch into adjacent functions, because some are used from the protocol handler(s). Task-number: QTBUG-102855 Change-Id: Ie394378fef2b1723e69286fd870fc34b7306734a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* compare helpers: use is_OP etc instead of OP 0Marc Mutz9 days1-14/+14
| | | | | | | | | | | | Older GCCs are otherwise going crazy with -Wzero-as-nullptr-constant. The is_OP() functions are specifically protected against this warning. Amends fe12650e9d85ea0ed4a73f85cdbef0ddf3b67ae3. Pick-to: 6.7 Change-Id: I4895e42be382c8549c1902db6f237d29f78bbe7e Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Windows: refactor theme's handling of color schemeVolker Hilsheimer9 days2-3/+12
| | | | | | | | | | | | | | Make the functions populating the palette static class members so that they can access private helpers. Encapsulate logic that overrides the system or (later) explicitly set color scheme into a helper that always respects the presence of a high-contrast theme. Task-number: QTBUG-124490 Change-Id: I7ad09596bb308b17b4c6ec34bb02cb6cf4b8c1bb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io>
* Windows: store the color scheme instead of a boolean for darkVolker Hilsheimer9 days2-20/+21
| | | | | | | | | | | | | | | | Since the color scheme is a tri-state (it might be Unknown when a high-contrast theme is active), don't store a "darkMode" value, but the color scheme. Make the query-functions private to the theme, the external API should always return the stored value, which gets updated when a theme change is processed. Task-number: QTBUG-124490 Change-Id: I41e6336773a3bb426b406dce370ef81c20e513ee Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>