summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix JNI snippet code compile errorsHEADdevAssam Boudjelthia10 hours1-1/+9
| | | | | | | | | | Add needed includes and leave out Java code. Amends 6a49c7f19f514056a7029de6ae04b424e5affc5a. Task-number: QTBUG-137566 Change-Id: I0bbefb406be8eca1c079bf1b8c3583a67380d495 Reviewed-by: Volker Hilsheimer <[email protected]>
* Windows11Style: reset mdi icons on polishChristian Ehrlicher15 hours1-0/+6
| | | | | | | | | The mdi icons need a reset on polish for correct dark/light mode handling. Fixes: QTBUG-135785 Change-Id: I3fb1fe458e579fab329a2329ac68d5e77ea35e72 Reviewed-by: Volker Hilsheimer <[email protected]>
* Windows11Style: use assetFont from WindowsVistaPrivateChristian Ehrlicher15 hours2-14/+16
| | | | | | | | | Use the asset font from WindowsVistaPrivate to share common functionality with the vista style. Task-number: QTBUG-135785 Change-Id: I2ec05e4358a426f0a3ba0a456b5b70eab6f18705 Reviewed-by: Volker Hilsheimer <[email protected]>
* [docs] QQuaternion: fix \overload in toEulerAngles() docsMarc Mutz16 hours1-1/+0
| | | | | | | | | | | | | The function is no longer overloaded. getEulerAngles() used to be called toEulerAngles() (88142e73d5e062cf26638511a42140b59ef736cc), but was later renamed to the idiomatic get-prefix (1872857ca72658cd58c0c39b31da493f794be6ca). Amends 1872857ca72658cd58c0c39b31da493f794be6ca. Pick-to: 6.10 6.9 6.8 6.5 Change-Id: Ibc71635aa836e9c33fb2b88ce30cc7a35fbf1291 Reviewed-by: Volker Hilsheimer <[email protected]>
* QQuaternion: fix incorrect Qt 7 export on inline functionMarc Mutz16 hours1-1/+1
| | | | | | | | | | | | | | The fromEulerAngles(QVector3D) function is and will stay inline, as it's just forwarding to the (float, float, float) overload of the same name. So it needn't be, and shan't, either, be exported come Qt 7. Remove the QT7_ONLY export. Partially reverts / amends f9f1272e7c438b79591032877f2b386af8085c3f. Pick-to: 6.10 6.9 6.8 Change-Id: I8ed0054ca89ab04ef0b06bea953473e91789fda6 Reviewed-by: Volker Hilsheimer <[email protected]>
* QQuaternion: comment all #endif'sMarc Mutz16 hours1-5/+5
| | | | | | | | | | | | | | | It's easier to comprehend what's going on, because there are quite a few different ones here. Exception: if the #if block contains only very few lines (max four or so, didn't count), then a naked #endif is ok, and arguably easier on the eye, so leave them in that case. Amends the start of the public history. Pick-to: 6.10 6.9 6.8 6.5 Change-Id: Ib1b27859344916caa17dc1ff0010b6b10d34bb13 Reviewed-by: Volker Hilsheimer <[email protected]>
* CMake: Work around AUTOGEN discarded dependencies for in-tree examplesAlexandru Croitor46 hours1-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | When building qt examples in-tree, in a cross-compiling case, with a CMake version lower than 4.0, we lose AUTOGEN dependencies due to a bug in cmake. To ensure the dependencies are not lost, we need to apply the same workaround we did for internal Qt targets. For targets created by Qt's public API, we now query the target's LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES at finalizer time, and add them to the AUTOGEN dependencies. The implementation is also modified to remove duplicates. We only apply the behavior in public API when QT_BUILDING_QT is true, to reduce the risk for regular user projects. The assumption here is when building a user project, Qt is already fully built, so we don't need to ensure that Qt's sync headers and autogen targets are up to date. Pick-to: 6.5 6.8 6.9 6.10 Fixes: QTBUG-137587 Task-number: QTBUG-133725 Change-Id: I61bd799ca39d92702ca0fc48d54bb517fc55baeb Reviewed-by: Alexey Edelev <[email protected]>
* Fix compile unused and uninitialized compile warnings for qprocess snippetAssam Boudjelthia2 days1-1/+3
| | | | | Change-Id: I5c5a8693c16970078941c91a1bceca0ee3edbc09 Reviewed-by: Thiago Macieira <[email protected]>
* Android: fix potential exceptions in Java CursorHandleAssam Boudjelthia2 days1-1/+7
| | | | | | | | | | | | | Under initOverlay(), obtainStyledAttributes() was using an auto closeable try() block but that's not guaranteed to be implemented on all system, to opt in for manually recycling. Moreover, under width(), m_cursorView is not always guaranteed to be non-null, so guard against that. Pick-to: 6.10 6.9 Change-Id: I35bf6d2ecbaf8913c94b070e7d99f72d2030f8b7 Reviewed-by: Ville Voutilainen <[email protected]>
* Android: update to Gradle 8.14.2 and AGP 8.10.1Assam Boudjelthia2 days9-12/+12
| | | | | | | | | | | | | Update to latest versions for Gradle: * Gradle 8.12 -> 8.14.0 * Android Gradle Plugin 8.8.0 -> 8.10.1. [ChangeLog][Third-Party Code] Updated Gradle to 8.14.1 and AGP to 8.10.1. Task-number: QTBUG-137782 Change-Id: Ifbc808e18412f6e2e45612612d36a1f9bf57c1a9 Reviewed-by: Ville Voutilainen <[email protected]>
* qWaitForWidgetWindow: fix excessive genericityMarc Mutz2 days1-13/+12
| | | | | | | | | | | | | | | | | | | | | | The first argument was the same in all callers; instead of passing token-by-token-identical lambdas (which have all distinct types), we can pass the lambda's captured variables instead and inline the lambdas into the function. The third argument was always either int or QDeadlineTimer, so standardize on QDeadlineTimer. A follow-up change will change all arguments to QDeadlineTimer in the public API, too, so this is the future-proof and chrono-first-compatible version. Note 73c52ba2687c2035a40141f2a5236399f8331f4b for the QDeadlineTimer construction. Amends 7e4c2ac711c0b68133f06ab997a33f8bf7c4f734 and 3f2a9523a442e44ef52ebca30da9b5d3188df6bc. Pick-to: 6.10 6.9 6.8 Change-Id: I75f84abbf60cd77ce48c7ab0ee797e5e8a0879de Reviewed-by: Volker Hilsheimer <[email protected]>
* QObject: make doSetProperty() take lvalue arg by crefMarc Mutz2 days3-5/+14
| | | | | | | | | | | | | | | | | | | ... not by pointer. It makes more sense this way, since `lvalue` is always passed (unlike `rvalue`, which is passed optionally, so needs a nil state), and removes a potential error state (lvalue == nullptr) that neither the compiler nor a reader of the code now have to worry about anymore. As a drive-by, rename the argument so the local alias in the function can go away, too. Amends 39cdf431f034121353e51768b4d1fec8b0dd35dc. Pick-to: 6.10 Change-Id: I818e4fec30360c5b63b84a0f7e1e1eebdfe2cfcc Reviewed-by: Ivan Solovev <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Replace `QT_NO_CREATE_TARGETS` with an automated and scoped logicCristian Le3 days1-3/+3
| | | | | | | | | | Effectively check if we are importing while still building the current project Task-number: QTBUG-135233 Change-Id: If172617463157e84e1b16fc2354147fabae41084 Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Alexey Edelev <[email protected]>
* Q*Application: deprecate compressEvents()Marc Mutz3 days5-0/+8
| | | | | | | | | | | | | | | | | | Give users that may have overridden this function a heads-up that it will be removed in Qt 7. Go for immediate deprecation, since there's no replacement, anyway. In the unlikely case that there's a user of this undocumented feature, they can use QT_IGNORE_DEPRECATIONS to selectively silence the warning, the same way we do. Amends 438b2f2d604133349777c670590b27a82832e290. Found in API-review. Pick-to: 6.10 Change-Id: I064e80250ab7a405cc8abef144b6c7bc7bbf29fd Reviewed-by: Ivan Solovev <[email protected]>
* QFactoryLoader: reserve() two QListsMarc Mutz3 days1-0/+2
| | | | | | | | | | Either of them may see additional append()s after the first loop, but we can at least skip the first few reallocations by reserving d->library.size(). Pick-to: 6.10 6.9 Change-Id: I1c2ccdc47444657957dd593a76d75fe210536b5b Reviewed-by: Thiago Macieira <[email protected]>
* QFactoryLoader: drop libraries mutex soonerMarc Mutz3 days1-0/+2
| | | | | | | | | | | | | | | | | | | | | Both QFactoryLoader::metaDataKeys() and QFactoryLoader::metaData() locked the mutex under QT_CONFIG(library) near the start of the function and never dropped it until the end of the function. This is not necessary and, by Amdahl's Law, reduces concurrency. Drop the mutex before the #endif again. This isn't as good as splitting the metaDataKeys() loop into one that extracts the QPluginParsedMetaDatas, dropping the mutex, and then another doing the JSON work, but it's better than the status quo and the best the maintainer will accept. Amends 878e3342e1c9bd8a4da6a2e9e1508dacbe0c7ab6. Pick-to: 6.10 6.9 Change-Id: Ie69d4a2d20ac02c4331ffcc3f1281caf7cbeb6fe Reviewed-by: Thiago Macieira <[email protected]>
* QObject: Extract Method q_choose_{assign,append} from doSetProperty()Marc Mutz3 days3-8/+81
| | | | | | | | | | | | | | | We'll apply that doSetFoo() pattern in more places going forward, so extract the central switch between lvalue and rvalue into a pair of class helper functions for easier reuse. Needed a new header for this, so started a qtclasshelper_p.h. Amends 39cdf431f034121353e51768b4d1fec8b0dd35dc. Pick-to: 6.10 6.9 6.8 Change-Id: I864b7faba41a74058e42d2ca96a0cc519751389f Reviewed-by: Ivan Solovev <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Add clamping to QColorTransferGenericFunctionSamuel Gaist3 days1-0/+4
| | | | | | | | | | | | | | | | | | This ensures that the inputs are within range for the use of these function. Depending on the values passed, they can trigger FE_INVALID errors and thus NaN as return values. This can happen for example when feeding an invalid ICC profile to QColorSpace::fromIccProfile. Credit to OSS-Fuzz Fixes: QTBUG-137159 Pick-to: 6.10 6.9 6.8 6.5 Change-Id: I435a5768fbb7d3e6cb84d578703e7dde2e39a27e Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* wayland: Move error checking before xdg surface creationDavid Edmundson3 days2-16/+24
| | | | | | | | | | | | | | | 8c0dd12f4bf7a09304a136c9ceacfb60e0632e50 changed behaviour when QtWayland is asked to enter an invalid state of creating a popup where no parent window is explicitly set or can be guessed. It now early returns before creating an xdg role. It is apparently an error on some compositors to create and then destroy an xdg_surface without creating a role. Fixes: QTBUG-137702 Pick-to: 6.10 Change-Id: I8b4dcb54f03660cb47e93b54a68834b371f76c71 Reviewed-by: David Redondo <[email protected]>
* QLatch: optimize to avoid a syscall when no one is waitingThiago Macieira3 days2-3/+37
| | | | | | | | | | | | | | | | | | | | | | | | We do it by using the sign bit of the atomic to indicate that there are no waiters waiting. That way, the counter only becomes a zero when all expected counters have counted down *and* there is at least one waiter. That means the countDown() code remains unchanged. On x86-64 and AArch64, there is no change in the number of instructions in the inline portion of wait() either. The non-inline portion uses a __atomic_and_fetch() instead of atomic_fetch_and() so compilers will generate LOCK AND for x86-64, LDCLR for AArch64 ARMv8.1, and AMOAND.W for RISC-V. This is more efficient than the Standard Libraries's current implementations, which use a separate, global atomic out of a pool, meaning that there could be a collision between two or more latches (or any other users std::atomic waiting, such as std::semaphore and std::barrier). Coupled with the fact that we futexWait() on the actual latch's address (something libc++ can't / won't do), this implementation should be overall much more efficient. Change-Id: Ib5ce7a497e034ebabb2cfffd1761b02a44d548d3 Reviewed-by: Mårten Nordheim <[email protected]>
* Long live QLatchThiago Macieira3 days4-0/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like std::latch[1][2]. Originally proposed by N3666, it only became a reality after the atomic wait functionality in C++20. We can't depend on that yet in Qt because a) we don't depend on C++20 yet, and b) the implementations of atomic waiting and std::latch are too recent in the Standard Library implementations (GCC 12, LLVM 12, MSVC 19.28). This implementation therefore builds the functionality from scratch, like the original proposal did[3]. We'll probably keep our implementation for the long run, because it's more efficient than the Standard Libraries' implementations. The MS STL implementation is the closest to ours and to bare OS functionality: uses WaitOnAddress / WakeByAddress as expected, but it generates a bit more code than is necessary. And it's Windows-specific, of course. Both cross-platform implementations (libstdc++ and libc++) do far more work than necessary for platforms that offer a OS futex-like support. Both of them busy-loop waiting for the atomic value to change and then exponentially back off using sched_yield(). Those aren't useful to us, as the majority of our uses are with threads that have just been created and have therefore likely made little progress. They can be actively harmful in some cases. The libc++ implementation is even worse by using std::high_resolution_clock to time this looping up to 64 µs in inline code before making a system call to sleep and wait (and it can't / won't use the latch's address for the futex itself). Both implementations also use an extra atomic out of a global pool (16 in libstdc++, 256 in libc++) to indicate whether there is any waiter on this address and therefore avoid the system call to wake them. See the next commit for an efficient implementation for QLatch. This implementation uses the limited atomic-wait functionality added by the previous commit for platforms that don't support futexes. [1] https://wg21.link/p1135 [2] https://en.cppreference.com/w/cpp/thread/latch/latch [3] https://github.com/ogiroux/atomic_wait/tree/master/include Change-Id: Ib5ce7a497e034ebabb2cfffd1761a3a6ff2598d3 Reviewed-by: Mårten Nordheim <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Short live q20::atomic_wait!Thiago Macieira3 days3-0/+249
| | | | | | | | | | | | | | | | | | | atomic_wait() and atomic_notify_{one,all}() are available in C++20, which we can't depend on right now. So we implement our own fallback implementation. This is a simple implementation for systems which don't have either futexes or the C++20 atomic wait API. That means it's not very efficient, just simple. The unit test tests the fallback implementation only: it is not Qt's business to test the Standard Library. The fallback implementation and the Standard Library's are not binary-compatible and cannot be mixed. Callers must ensure that all sides use the same implementation and the easiest way to do that is to only use this in non-inline code, or at worst inline code that isn't shared across libraries/modules/plugins. Change-Id: Ib5ce7a497e034ebabb2cfffd1761a0e497dd17d4 Reviewed-by: Mårten Nordheim <[email protected]>
* Mark QTextStream as security-criticalMarc Mutz3 days3-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This component processes input external to the process, and the application depends on this component to report errors to detect failure, so this component is security-critical. The headers, however, contain only a miniscule amount of implementation, essentially a few forwarders each and, in the public header, the QTextStreamManipulator, everything else is out-of-line, so I've opted to mark both headers as significant, header, declarations-only. I'll de-inline what makes sense in a follow-up commit. Amends 8df072fc8006510c9b743e8ffedaaf51a876883a. This completes the review of src/corelib/serialization, building on the following prequel commits: - 0b9d4c3a857144bad2937f964101c57ae7efec4c (QDataStream) - 0a7ee06b27c55f10b65b053cabdc893ae8f23893 (QXmlStream{Reader,Writer}) - 046e6c5701da96dd64b613c2bc9cfd245c83b1a5 (QXmlUtils) - cd4813a3c304a6d9d5d8096d91a8fc297818d624 (QJson and QCbor) There are no other implementation files in this subdir at the time of commit. QUIP: 23 Fixes: QTBUG-135194 Pick-to: 6.10 6.9 6.8 Change-Id: If5264e3ad1eca230f48042888b1256ce0a329d8e Reviewed-by: Ivan Solovev <[email protected]>
* QFactoryLoader: don't use std::vector::at()Marc Mutz3 days1-2/+2
| | | | | | | | | | | | | Unlike the Qt containers, STL container at() is checked, and throws an exception. Use op[], which is unchecked, and allows checkers like Coverity and UBSan to detect the issue, because UB always means it's unintentional. Amends e60aed5ed000b635d8424f9120249725d9e68c78. Pick-to: 6.10 6.9 6.8 6.5 Change-Id: Icec96bc3939a80c1845f4335c93d3c920627ac0e Reviewed-by: Thiago Macieira <[email protected]>
* Windows11Style: use drawLineEditFrame() for PE_FrameChristian Ehrlicher3 days2-22/+15
| | | | | | | | Also use drawLineEditFrame() for a plain PE_Frame instead an own logic. Pick-to: 6.10 Change-Id: I941dc8268bdabdc7541ac00514fa80a5050d484d Reviewed-by: Wladimir Leuschner <[email protected]>
* Windows11Style: fix/cleanup QLineEdit/SpinBox/ComboBox paintingChristian Ehrlicher3 days2-109/+88
| | | | | | | | | | | | | | | | | | | | Fix style issues: - paint lineedit indicator more like windows 11 - don't draw frame when not requested - use same height for all three widget types when no frame is painted Also cleanup the code: - move frame painting into own function (drawLineEditFrame()) for all three widgets - sync the painting of the other paintings as it can not be merged into one function due to PE_FrameLineEdit - use helper functions drawRoundedRect() and winUI3Color() to avoid code repetitions Pick-to: 6.10 Fixes: QTBUG-137403 Change-Id: I50e6fc16f13e0c043965d1bbe9406e61dff4dac7 Reviewed-by: Volker Hilsheimer <[email protected]>
* Document QString::QString(QStringView sv)Albert Astals Cid3 days1-0/+12
| | | | | | | | | | and mention it's since 6.8 Amends 21dfb0ebcc6b3a3408a8272ce536a1e4d53910cd Pick-to: 6.10 6.9 6.8 Change-Id: If4e027678f64468072e379b7aca3f011bfc2ca42 Reviewed-by: Mårten Nordheim <[email protected]>
* wayland: Add xx-session-management-v1 supportDavid Edmundson3 days16-4/+539
| | | | | | | | | | | | | | | | | | This is powered by the xx-session-manager which is tagged as experiemntal. This is guarded by an env variable. Application level session IDs are exposed via QSessionManager. The public API for windows is exposed via the existing QSessionManager and QWidget::setWindowRole. As it's not widely supported the documentation in QWidget is left untouched for now. [ChangeLog][Third-Party Code] New protocol synced from wayland-protocols Change-Id: Ibfbef86c6e75f8b95433cbba69ca10a5abea9e21 Reviewed-by: Vlad Zahorodnii <[email protected]>
* Mark qtbase/src/xml files as security criticalMagdalena Stojek3 days2-0/+2
| | | | | | | | | qdom.cpp and qdomhelpers.cpp are data parsers. Fixes: QTBUG-135587 Pick-to: 6.10 6.9 6.8 Change-Id: I3ea77f46f91d5e05d7d6ce88f416e3062f8096ea Reviewed-by: Ivan Solovev <[email protected]>
* Add security headers to QSetting filesMatthias Rauter4 days6-0/+6
| | | | | | | | | | | | | | | | | | QSettings can be parsed from *ini files that could potentially be corrupted. Therefore qsettings.cpp and qsettings_mac.cpp are marked security critical. qsettings_[win|wasm].cpp are reading the settings from the registry or from the browser, data sources that are considered trusted. Therefore these files are marked security significant. The header are also marked significant. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I5474c9a748b238734b5cdd50fb9e46f8379924ed Reviewed-by: Morten Johan Sørvig <[email protected]> Reviewed-by: Ivan Solovev <[email protected]>
* Add security header to QLockFile filesMatthias Rauter4 days5-0/+5
| | | | | | | | | | | | | In qlockfile.cpp, the contents of the lock file are parsed. While this parsing is not very advanced, it meets the criteria of QUIP 23. The other files do not meet any QUIP 23 criteria and are therefore marked as significant. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I87b2e00194583b5a2401443f556a38b472747c3a Reviewed-by: Ivan Solovev <[email protected]>
* Mark QXmlUtils as security-criticalMarc Mutz4 days2-0/+2
| | | | | | | | | | | | | | | | | | QXmlUtils are used by QXmlStream and QDom, both of which are (or ought soon to be) marked as security-critical. The component is clearly a data-parser, too, with the same input as QXmlStream and QDom, so has to be security-critical, too. The header file contains only declarations, so it gets the default score:significant. Amends 8df072fc8006510c9b743e8ffedaaf51a876883a. QUIP: 23 Task-number: QTBUG-135194 Pick-to: 6.10 6.9 6.8 Change-Id: I415486dbba0c748e6af561ea4f098ea42c4b1830 Reviewed-by: Ivan Solovev <[email protected]>
* Doc: Remove excessive \note tags from QDateTime remarksDheerendra Purohit4 days1-4/+4
| | | | | | | | | | | | | Removed all \note tags from the QDateTime "Remarks" section. The content did not require special highlighting and is now presented as regular paragraphs. This improves readability and aligns with Qt documentation style guidelines. Pick-to: 6.10 6.9 Fixes: QTBUG-130765 Change-Id: I2e40d4ed08399b8da9e6a3ecc9720e62a683ca9c Reviewed-by: Safiyyah Moosa <[email protected]> Reviewed-by: Axel Spoerl <[email protected]>
* Doc: List all operators defined by Q_DECLARE_OPERATORS_FOR_FLAGSDheerendra Purohit4 days1-2/+4
| | | | | | | | | | | | | Clarified that the macro defines operator&(), operator~(), operator^(), and missing assignment operators (|=, &=, ^=) in addition to operator|(). This improves accuracy and completeness of the QFlags documentation. pick-to: 6.10 6.9 Fixes: QTBUG-127490 Change-Id: Ib704172396cb7728d0544f6d6ae6194c45a50e4b Reviewed-by: Axel Spoerl <[email protected]>
* Doc: QToolBox comes before QToolButton in style sheet documentationDheerendra Purohit4 days1-13/+13
| | | | | | | | | | | Corrected order of QToolBox and QToolButton to follow alphabetical listing and improve readability. pick-to: 6.10 6.9 Fixes: QTBUG-113759 Change-Id: I0ae53c3fccf6f2fd9e44fcdee7bbb73c58fa75c7 Reviewed-by: Axel Spoerl <[email protected]>
* Add security scores to qresource* filesMatthias Rauter4 days4-0/+4
| | | | | | | | | | | | | | QResources can be feed data from a file at runtime. This should really be trusted data but we cannot guarantee that, therefore the file that contains the parser, qresource.cpp, is marked security critical. All other files are marked with the default value security significant. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: Ibff50dc744a5204233695794b82b87c82cd6a6b8 Reviewed-by: Ivan Solovev <[email protected]>
* Mark QContinousByteDevice as security significantMatthias Rauter4 days2-0/+2
| | | | | | | | | | | No data is inspected by this class. The security score is therefore not above the default value of significant. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I300e4a2613605c200a595a0fd7c9bfe20bb0294a Reviewed-by: Ivan Solovev <[email protected]>
* Add security headers to QLogging* filesMatthias Rauter4 days5-0/+5
| | | | | | | | | | | | qloggingregistry.cpp is considered security critical because it contains a parser for a configuration file. All other files are considered security significant. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: Idb9712e11f6ba5744e2d576833db4a7fae4e5eaa Reviewed-by: Ivan Solovev <[email protected]>
* Mark QBuffer security criticalMatthias Rauter4 days2-0/+2
| | | | | | | | | | | QBuffer operates on external data and data corruption issues have been found before. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I6f9ccd58ec423142f3551af3ba4e3c20d3f8392f Reviewed-by: Marc Mutz <[email protected]>
* Mark qabstractfileengine.cpp as security criticalMatthias Rauter4 days1-0/+1
| | | | | | | | | | | QAbstractFileEngine::readLine reads from the file info data. The header is not marked and will default to security significant. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I0dda64d78a515ed70a32777191af7c681cbfc067 Reviewed-by: Marc Mutz <[email protected]>
* Mark qfilesystementry.cpp security criticalMatthias Rauter4 days2-0/+2
| | | | | | | | | | | | QFileSystemEntry inspects paths, that can be provided by the user following the code documentation. As such it has to be categorized as critical. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I629c39bd1aedf216a067dab9a21eb09ad495b301 Reviewed-by: Ivan Solovev <[email protected]>
* Mark QFileDevice security significantMatthias Rauter4 days3-0/+3
| | | | | | | | | | | | qfiledevice.cpp contains some minimal data inspection, see putCharHelper(). However, this is very simple and not sufficient to make the file critical. QUIP: 23 Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-135187 Change-Id: I76e608fa42b0bca003fc5d0166fd863583df075a Reviewed-by: Ivan Solovev <[email protected]>
* Add default security header to remaining mimetype filesMatthias Rauter4 days11-1/+11
| | | | | | | | QUIP: 23 Task-number: QTBUG-135191 Pick-to: 6.10 6.9 6.8 Change-Id: I81ceead665ee0313a492616188c33c6568070b11 Reviewed-by: Axel Spoerl <[email protected]>
* Mark qmimedatabase.cpp security criticalMatthias Rauter4 days1-0/+1
| | | | | | | | | | | | | | loadProviders() is parsing data, but it should only be trusted data. The function isTextFile() apparently reads data from an untrusted file to identify it as text file. Therefore this file has to be considered security critical. QUIP: 23 Task-number: QTBUG-135191 Pick-to: 6.10 6.9 6.8 Change-Id: I8884293eff5584038f3388dc0309cfa70eae0c89 Reviewed-by: Ivan Solovev <[email protected]>
* Create a couple of CMakeLists and fix related cppsOleksii Zbykovskyi4 days9-13/+93
| | | | | | | | | | | | Added a banch of CMakeLists to different folders. In the qprocess folder deleted the unused QApplication and added condition for windows. In qstring, fixed some small bugs. In qsignalmapper, added a condition to avoid naming problem Task-number: QTBUG-137566 Change-Id: I63e04cdd01b5854ab5f2dac2a0c317eea35f5b42 Reviewed-by: Volker Hilsheimer <[email protected]>
* Add more snippets sources from corelib to the build systemOleksii Zbykovskyi4 days19-122/+135
| | | | | | | | | | | | | | Trying to compile snippets and fixing some bugs with them. Added some files and targets to CMakeList.txt. Added SOURCES of files that triggers Widgets in CMakeList.txt. Handled "no widgets" and "no qml" cases for snippets compiling. Relocated the necessary header file for qtcast. All others are just small fixes. Update: fixed path to the qlogging snippet in docs Task-number: QTBUG-137566 Change-Id: I6c6068790bf24ca88072cf8ca5c33b1401551452 Reviewed-by: Volker Hilsheimer <[email protected]>
* Windows QPA: fix PMv2 detect logicZhao Yuhang4 days1-2/+5
| | | | | | | | | | | | | Before this patch, in QWindowsContext::setProcessDpiAwareness, there are some conditions that will make this function return early, in this case, QWindowsContextPrivate::m_v2DpiAware won't be updated to the correct value (it's initially set to false and we want it to be true in these cases), this is absolutely wrong. Luckily, this issue just makes QPA call enableNonClientDpiScaling() in unnecessary situations and that is harmless. But it's also better to fix this issue. Change-Id: I04d70d5d83b898a3cd2856d504bcd3f5519427b4 Reviewed-by: Oliver Wolff <[email protected]>
* QRangeModel: small improvements to the tree documentationVolker Hilsheimer4 days1-17/+15
| | | | | | | | | Make implicit and explicit protocol level-2 sections. Make some formulations more concise. Pick-to: 6.10 Change-Id: I0474388924dec95fa4da1c260f61ffdb3ea8adc3 Reviewed-by: Artem Dyomin <[email protected]>
* QUnifiedTimer: allow speeding up animations and simplify APIMitch Curtis4 days2-13/+13
| | | | | | | | | | | | | | | Speeding up animations in tst_qquickpopup by 5 times results in a reduction of its execution time from 9.8 to 7.9 minutes: a 20% improvement. This patch: - Renames setSlowdownFactor to setSpeedModifier. - Removes setSlowModeEnabled. There's no need for two functions if we can just set a speed directly. Task-number: QTBUG-137919 Change-Id: I04eb5d962c818da5d36f8f4cb5a2404977b78deb Reviewed-by: Thiago Macieira <[email protected]>
* Doc: Update the benchmarking option descriptionsAlexei Cazacov4 days1-3/+5
| | | | | | | | | | This commit adds a `perf` option description and mentions that the `tickcounter` options requires a hardware support. Fixes: QTBUG-134795 Pick-to: 6.10 6.9 6.8 Change-Id: I8462073850b6811508776b40e867e62eb88f78e7 Reviewed-by: Dennis Oberst <[email protected]>