summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Use universal C++20 bit operations when availableAllan Sandfeld Jensen2020-09-133-19/+67
| | | | | | | Avoids using compiler builtins, and can in future replace them. Change-Id: I3f0afe7d28b6ba05bcd1c1132b44a8db7b182d8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Interbase: Handle EXECUTE BLOCK statements correctlyAndy Shaw2020-09-131-0/+7
| | | | | | | | | | | | Since an EXECUTE BLOCK statement can have a mix of ? and :var syntax then a special case for this needs to be added so that it does not try to convert the :var parts into positional placeholders as they need to kept as-is when preparing such a statement. Pick-to: 5.15 Fixes: QTBUG-83152 Change-Id: Iff891207ad6dea1681a1b3a335acbbbb668b465d Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Restore qWait() implementationLars Knoll2020-09-132-4/+21
| | | | | | | | | | | | qWait() and qWaitFor() have one subtle difference in behavior, where qWait passes the remaining time to processEvents() and qWaitFor() does not. This lead to instability on timing sensitive tests on macOS. Amends 1abea5f5f13b4b8ec2a1c282e643b791cea12f30 Change-Id: I20f516813ca67d9e86de468c4403e475f08edc26 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Revert "CMake: Make the Vulkan dependency of QtGui optional"Lars Knoll2020-09-131-1/+1
| | | | | | | | | | | | | The last 4 cmake changes broke configuring qtbase on at least Volkers and my machine (Ubuntu 20.04) Revert the changes, to unblock development of qtbase and other modules. This reverts commit 16aa8c8f4d83f2e2aaa04e6dd0e7c6dc7f854d9d. Change-Id: Id562bdac1915dba429ae4a0af6054d3e5e5e5d12 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make QStringList an alias to QList<QString>Lars Knoll2020-09-1225-265/+114
| | | | | | | | | | | | | | | | | | Fix our API, so that QStringList and QList<QString> are the same thing. This required a bit of refactoring in QList and moving the indexOf(), lastIndexOf() and contains() method into QListSpecialMethods. In addition, we need to ensure that the QStringList(const QString&) constructor is still available for compatibility with Qt 5. Once those two are done, all methods in QStringList can be moved into QListSpecialMethods<QString>. Change-Id: Ib8afbf5b6d9df4d0d47051252233506f62335fa3 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove some dead codeLars Knoll2020-09-122-160/+0
| | | | | Change-Id: I9d67eaa1b9d32ca245cf606ca2f11c77dafac1df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove two comments that don't make any senseLars Knoll2020-09-121-2/+0
| | | | | Change-Id: I775a81c4e3c0fb3d7eebf403bffb1e82864eff48 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix generated forward declarations in qdbusxml.cppLars Knoll2020-09-122-7/+5
| | | | | | | Simply use qcontainerfwd.h, instead of declaring those manually. Change-Id: I6d87bf14b60469b457e8e9335868f8cdb0303817 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename QLibraryInfo::location() to path()Lars Knoll2020-09-128-17/+30
| | | | | | | | As per ### Qt6 comment. Also rename the LibraryLocation enum to LibraryPath. Change-Id: I556025a19c5bcdf2ff52598eaba32269522d4128 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Inline one method as per ###Qt6Lars Knoll2020-09-122-8/+6
| | | | | | Change-Id: I4bf0ddf4ddf4044a60d881a57ef63b96d4bac262 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Remap QMetaType ids to create more space for builtin typesLars Knoll2020-09-122-54/+90
| | | | | | | | | | | We were starting to run out of space for builtin core types. Remap the type id's to create lots of additional space. We now reserve the first 64k id's for Qt, and have 16k id's for Qt Core. That should hopfully be enough for a while ;-) Fixes: QTBUG-85914 Change-Id: I0dab6bf23652e46a9557d9b38af7990b68c572b6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Small doc fixLars Knoll2020-09-121-1/+1
| | | | | | | Refer to QMetaType, not QVariant::Type Change-Id: I3e9284742b332095a26c03c68580ad0f6d4f9be7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix uninitialized variableLars Knoll2020-09-121-0/+3
| | | | | | | Amends defc8414fde0ea9f52fe554e00fe2f04947b7578 Change-Id: I0a62f08cb9428e94b30f659d810c767c2bc1b4b2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: Make the Vulkan dependency of QtGui optionalJoerg Bornemann2020-09-121-1/+1
| | | | | | | | | | | | | | | Vulkan cannot be a required public dependency of QtGui, because a vulkan-enabled build of Qt will fail on a machine where the vulkan headers are not installed. We cannot make the vulkan dependency private, because we have public Qt headers that include vulkan headers. The vulkan dependency is now marked as optional, meaning consuming projects will try to find it, but there will be no error on failure. Task-number: QTBUG-86421 Change-Id: I30edfd3eaa603048f4274e77036c54d90789d3c9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtSql: enhance documentationChristian Ehrlicher2020-09-121-0/+8
| | | | | | | | | Be a little bit more specific what needs to be done when compiling the sql driver without compiling the whole Qt Change-Id: I3e8010d4cc84a83108340e525e620abf6b6e89c1 Pick-to: 5.15 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Partially revert "Inline QTest::qSleep()"Lars Knoll2020-09-124-20/+32
| | | | | | | | | | | | | | | | | | This change partially reverts change a0e0b51001edfc1c7aea113c472ce995efa833fd. Replacing the QTest specific sleep function with QThread::msleep() was not a good idea. The reason is that QThread::msleep() will force the thread to sleep to x mseconds, even if a signal woke the thread in the meantime. This would cause qWaitFor() to not call processEvents(), in some cases, leading to flakyness and test failures in tests that rely on timing, such as the animation tests in Qt Qml. Change-Id: I0ad132cdf32be5813b2e73552d772251fe1d7f89 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QMetaContainer: Add function to erase ranges from sequencesUlf Hermann2020-09-123-0/+48
| | | | | Change-Id: Ic51103c36d288f236106e2d3aec1401d53b97a15 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make QMetaSequence's d_ptr constUlf Hermann2020-09-121-1/+1
| | | | | | | The container interface should really never change. Change-Id: I31dedf5b776da97a747f0eb26f3bc83ce46f3caa Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Provide methods for adding values to a sequential iterableUlf Hermann2020-09-124-75/+321
| | | | | | | | | | | Provide functionality to add and remove values, so that you can use a sequential iterable as stack or queue if the underlying container supports this. To this end, provide a way to specify whether the value should be added or removed at the beginning or the end of the iterable. Change-Id: If63d302f3ca085e56d601116ce4dfaa6b94a0c4f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QMetaContainer: Add an "input" iterator capabilityUlf Hermann2020-09-122-3/+24
| | | | | | | | | For completeness' sake we should expose this. The iterators provided by QIterable and friends will check the category at runtime, and should give sensible feedback. Change-Id: I778894f340c862f79a18c6c5607bcbba98dd7598 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix documentations string in QPagedPaintDeviceNicolas Fella2020-09-121-1/+1
| | | | | | | | pageLayout().pageOrientation() does not exist, but pageLayout().orientation() does. Pick-to: 5.15 Change-Id: I17a667b18aba284b91972422e604568e2fdbda05 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QStyle: return 'Fusion' instead of 'fusion'Richard Moe Gustavsen2020-09-125-6/+6
| | | | | | | | | | | | This change should have no impact on Widgets, since style names there are case-insensitive. But for QtQuick controls the style names are case sensitive. So in order to use the style hint from the platform theme for controls, we need to return the name with an uppercase "F". Change-Id: I360f43f174938202b0ef2cdfcde6daf39c9f39bb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QAbstractSpinBox: don't emit update signals twiceRichard Moe Gustavsen2020-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | A QAbstractSpinBox has a spinClickThresholdTimer that is detecting if the user is doing a press'n'hold on one of the spin buttons, to activate auto-repeat. But if the valueChanged() handler in the application spends too much time before it returns, the spinClickThresholdTimer will fire before we get a chance to cancel it from the pending mouseRelease event. The result is that the spinbox will think that the user is doing a press'n'hold, and increment the value once more. To avoid this, we start the timer _after_ the call to valueChanged() instead. Pick-to: 5.15 Fixes: QTBUG-86483 Change-Id: Iff5de4f8da562738e02848c98bc1fbc9fe227748 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove dead code and obsolete commentVolker Hilsheimer2020-09-121-8/+0
| | | | | | | | | | | | | | The special members do nothing that the compiler-generated default doesn't do, so remove them. Remove the comment introduced in d06b4ca9a1a9baf3faa83a8b0 about QBitmap inherting QPixmap being a problem. It which wasn't followed up on for Qt 6, and making QBitmap a QPaintDevice rather than a QPixmap subclass (as implied in the commit message) would result in significant code duplication. Change-Id: I8d5032062f95ab19b38eb97d17191a9b13af870f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QAbstractItemView: add virtual itemDelegateForIndexVolker Hilsheimer2020-09-127-41/+61
| | | | | | | | | | | | | | | | | | | | | | | | and obsolete itemDelegate(index), which the new function replaces. This allows itemviews to override the item delegate per index. The existing APIs to set delegates for rows and columns doesn't work for tree views, or other views where the delegate should depend on the parent index as well. Adjust all itemview code that accessed the QAIVPrivate's relevant data structures directly to go through the virtual function. [ChangeLog][QtWidgets][QAbstractItemView] The itemDelegate(QModelIndex) member function has been made obsolete, and has been replaced by a new virtual itemDelegateForIndex(QModelIndex) member function that can be overridden to give subclasses control over which item delegate should be used for an index. Change-Id: Ib03529c38797386d3a1d4cf3c5646e911d95daf5 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QSsl: workaround a 'very secure' OpenSSL version (CentOS 8.x et al)Timur Pocheptsov2020-09-123-0/+18
| | | | | | | | | | | | | CentOS it seems not only backported some OpenSSL 3 functions, but also raised the default security level to 2, making some of our keys (and MDs?) 'too weak' and failing auto-tests here and there as a result. For our auto-test we lower the level to 1, as it is expected to be. Fixes: QTBUG-86336 Pick-to: 5.15 Change-Id: I7062a1b292e8b60eb9c2b2e82bd002f09f9da603 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Replace qreal with float in QColorAllan Sandfeld Jensen2020-09-112-224/+224
| | | | | | | | There is no reason to use double precision for colors. We at most have 16 significant bits anyway. Change-Id: I8b402cd978675b8ba7248176976d934363212ff1 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QAuthenticatorPrivate::parseHttpResponse: mark "host" as unusedMårten Nordheim2020-09-111-0/+3
| | | | | | | ... in the case where it is unused Change-Id: Ia181b975f07a8d1eee078867b98168ec5c326612 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Minimal ABI necessary for future optimized QPixmapAllan Sandfeld Jensen2020-09-112-1/+44
| | | | | | | | Add virtual hooks that can make it possible in Qt6 to implement paint device specific pixmaps. Change-Id: Ib1d1d7b5e32d9430203f718534344b25c0ead744 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix Qt6 related comments in qdebugLars Knoll2020-09-112-45/+33
| | | | | Change-Id: I9861d29a6615863094cd007178f214a816865eb7 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Cleanup QGradientLars Knoll2020-09-113-51/+25
| | | | | | | Tackle some cleanups scheduled for Qt 6. Change-Id: I46e6e49e3d74f49ce953a36c5611d635232d43b1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove Qt6 related commentLars Knoll2020-09-111-1/+0
| | | | | | | | We can't unexport the class, as it's being used by the OpenGL paint engine in QtOpenGL. Change-Id: I74c1bef0e4720a82679a329462e80571f0583a84 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Get rid of QEnableIfLars Knoll2020-09-112-9/+3
| | | | | | | Use std::enable_if instead. Change-Id: I02a2f3066f9e4cab6db1909681a17330afdbbedb Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove pre-C++17 code pathLars Knoll2020-09-111-17/+0
| | | | | Change-Id: Iaa7f677f45cee50f0b9ed236cf5bef18d5764bfa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Clang 10: Fix missing-exception-spec error on WindowsKai Koehne2020-09-111-0/+1
| | | | | | | | | | | | Fix error qtbase/src/plugins/platforms/windows/qwindowsdropdataobject.cpp:67:25: error: 'GetData' is missing exception specification '__attribute__((nothrow))' [-Werror,-Wmissing-exception-spec] QWindowsDropDataObject::GetData(LPFORMATETC pformatetc, LPSTGMEDIUM pmedium) Follow the example of just disabling microsoft-exception-spec here. Change-Id: I61feb59e188bff7fdfb30e88f8a06c61ec808828 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Improve WinTab license informationKai Koehne2020-09-111-2/+2
| | | | | | | | | | | | | | | | | | Do categorize the license as LCS-Telegraphics License. Although SPDX doesn't know about the license (yet), DejaCode does: https://enterprise.dejacode.com/licenses/public/lcs-telegraphics/ So it's more helpful for the user to give the license a name, then to just call it 'Custom'. [ChangeLog][Third-Party Code] Changed classification of the wintab license from "Custom" to "LCS-Telegraphics License" Pick-to: 5.12 Pick-to: 5.15 Change-Id: Iba7538f67b43ceca2e599fc1ede520962d4a7e43 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Revert "Remove timeStep parameter from QAnimationDrive::advanceAnimation"Lars Knoll2020-09-113-14/+19
| | | | | | | | | | This reverts commit f51b690e91bb2d7c8a03c5cef42abca37d97f8bb. The commit made all animation tests in qtdeclarative on macOS flaky. Change-Id: I4ccaa879df7e2ba7e253657de01cbabc9b2c655f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QAuthenticator: condition using GSSAPI on credentials availabilityMårten Nordheim2020-09-114-14/+65
| | | | | | | | | | | | AFAICT with GSSAPI the normal workflow is to run kinit or similar and authenticate before running programs relying on it. Therefore we can try to get the credentials before we choose whether or not to use Negotiate. Pick-to: 5.15 Task-number: QTBUG-85123 Change-Id: If0478fdd45389b2939ad87c2f582776fe56959bb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Rename QMetaSequence's "elements" to "values"Ulf Hermann2020-09-113-176/+176
| | | | | | | | | | This is so that they are in line with the "value_type" usually found in containers. Associative containers have "key_type" and "mapped_type" and we will use those names for access to elements in QMetaAssociation. Using "value" as name for sequential containers improves consistency. Change-Id: I628b7e1446bb2d56843b843bca72d279a6b247e6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Prepare QSequentialIterable for non-const operationUlf Hermann2020-09-112-12/+66
| | | | | | | | | Introduce a smart pointer that saves its constness, even if the constness of the parent object changes. This allows us to implement the const and mutable iterators in the same class. Change-Id: I156e564c7fa2ecc8981c6d71861d796a5cbfec66 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QAuthenticator: move debug printing to a logging categoryMårten Nordheim2020-09-111-1/+5
| | | | | | | | | The GSSAPI thing is a bit noisy and not useful unless you're debugging it specifically. Pick-to: 5.15 Change-Id: I4a8c14159ec889776d06e0970ddf66083d788b63 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QAuthenticator: Don't reset phase on every set* callMårten Nordheim2020-09-111-11/+30
| | | | | | | | | | | | | | In QAuthenticator "detach()" does not do what you expect. First off it doesn't detach at all, and secondly it will reset the phase that the authentication is in. This last part is intended, but it has one issue: if setUser/setPassword is called with the same arguments every time we ask for credentials then we never reach a fail-state since it thinks we will have a new chance to authenticate. Pick-to: 5.15 Change-Id: I02e2e42242220f3fced3572323e6492429cf173e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QAuthenticator: Don't assume we haven't tried the URL credentialsMårten Nordheim2020-09-111-3/+4
| | | | | | | | | | | | | It's problematic if we have already used these credentials and it failed. Since then we emit authenticationRequired only for QNAM to intercept it and "helpfully" suggest we use the same credentials again. By moving on we can check the cache or ask the user about the necessary credentials. Pick-to: 5.15 Change-Id: Idaac5ae71167462369b66194ab6b1f77113d636a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QAuthenticator: Don't assume cached credentials are newMårten Nordheim2020-09-111-1/+2
| | | | | | | | | | | | Although this is more of a QNAM thing. In some cases what we load from the cache might be credentials we have already tried (and failed with, thus leading us to emit the authenticationRequired signal). With this patch we will fall through more often and ask the user for credentials. Pick-to: 5.15 Change-Id: If2a556883c3ea5b0b225f4df273d38353b552b54 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* rhi: gl: Fix shader cache with unstable vertex input locationsLaszlo Agocs2020-09-112-38/+74
| | | | | | Task-number: QTBUG-86531 Change-Id: I9bcd314e06662e3c6cc4204b24689d61ee6cb298 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix build with -trace lttngJoerg Bornemann2020-09-114-2/+17
| | | | | | | | | | | | Fix superfluous space in qtgui.tracepoints and make tracegen more lenient towards unknown types (the ETW implementation outright ignores those). Pick-to: 5.15 Fixes: QTBUG-86546 Change-Id: I71cc323afa1009dbaefe20e55818ecb6c0b09c59 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* Interbase: Add support for the boolean typeAndy Shaw2020-09-112-2/+23
| | | | | | | | | | | | | This is added to Interbase in v7 and Firebird in v3 which has been available for sometime now. This means the minimum supported for Interbase is now v7. [ChangeLog][QtSQL][Interbase] The minimum required version for Interbase is now v7. Fixes: QTBUG-83401 Change-Id: I9927fd962f25c935be8ed5d2b7c76c00fb88cd8c Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Android: Pass the parsed URI if it fails to get permission on 23 or lessAndy Shaw2020-09-111-0/+4
| | | | | | | | | | | In Android API level 23 or lower it will still be able to open the file even if the permissions are not provided. If the system is not going to allow it then it will prevent it later on. So we trust the system to block access if need be. Pick-to: 5.15 Change-Id: If663e3cf0a10818931577988abdc0fb8ec2650db Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* macos: Rename macos style to macOSRichard Moe Gustavsen2020-09-114-4/+4
| | | | | | | | | This change shouldn't matter much to widgets, since style names there are case insensitive. But for controls style names are case sensitive, and in that case, "macOS" looks more correct. Change-Id: Ia1d442bce465692ff58fecba1cc68ecbb2e52549 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QVariant: guard usage of fromType.metaObject()Richard Moe Gustavsen2020-09-111-1/+1
| | | | | | | | | | | | | | | | This patch amends 19874d6a63. That patch caused a crash to occur when running the auto test tst_QQuickApplicationWindow::attachedProperties(). The crash can be traced back to QMetaType trying to access fromType.metaObject(), which is null. This patch will add a guard to ensure that we don't try to call a function on an object that is null. Fixes: QTBUG-86517 Change-Id: Idafd154a7b6a43e16126038fc5f9b30d7871f0d0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>