summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove QVariant(int type, void *data, ...) constructorLars Knoll2020-08-1542-74/+52
| | | | | | | | It was marked internal anyway. Use the constructor taking a QMetaType instead. Change-Id: I15b9cd0911aac063a0f0fe0352fa2c84b7f7c691 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Android: Be more verbose about which binary is not foundAlexandru Croitor2020-08-151-2/+3
| | | | | | | | | It's unclear that the actual file searched for is different from the error output. Make it clearer. Task-number: QTBUG-85399 Change-Id: Ia5eb6d03c42b399604ce452b88408e0e5071d17c Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Allow constructing a null variant from a meta typeLars Knoll2020-08-141-1/+1
| | | | | | | | | | | Add a default argument for the data pointer, so one can construct a null variant of a certain metatype. This is meant to help replace the QVariant(Type) constructor that will get deprecated. Change-Id: If75a1491ffcaa82d28eb5a7efb547da0ef1f2a87 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: Split out some Android functions into a public API fileAlexandru Croitor2020-08-143-1/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To fix CMake Qt For Android projects to configure, we need to move some functions from a private CMake API file only, to a public one. Add Qt6AndroidMacros.cmake which will be loaded by Qt6Core package. We'll have to decide how we proceed with Qt5AndroidSupport.cmake, because that file automatically runs code when included in Qt5, and we usually don't want to do it. We'll also have to decide how to handle the define_property() calls that are still left in the private QtPlatformAndroid.cmake file. With this fix, Qt example CMake projects that use add_qt_gui_executable should now be buildable. An APK can be created with 'ninja apk'. Unfortunately Qt Creator 4.13 does not currently seem to support opening and building CMake Qt For Android projects properly. While the build succeeds after fiddling with the Kit settings, the APK deploy step fails to run (at least on my machine). So the simplest way to run the built APK is to open the android-build dir with Android Studio and launch the example application from there. Task-number: QTBUG-85399 Change-Id: I77f246331de7a6e9e6d4ba7d973730190138f136 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Fix copying of gradle resources in non-prefix buildsAlexandru Croitor2020-08-141-8/+7
| | | | | | | | Amends b1f8ca8032bd0500f356c55c335937f7fb89d3f5. Task-number: QTBUG-85399 Change-Id: Ibf0d721a7735dabd48e069a6098d1d9338cde660 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Replace Qt CONSTEXPR defines with constexprAllan Sandfeld Jensen2020-08-1495-1732/+1697
| | | | | | | | Both normal and relaxed constexpr are required by our new minimum of C++17. Change-Id: Ic028b88a2e7a6cb7d5925f3133b9d54859a81744 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Doc: Change QPixmap::grabWindow with QScreen::grabWindowAndy Shaw2020-08-141-1/+1
| | | | | | Change-Id: I68df86314cb8c3602d7ddbcf1e4527cf247d5fa1 Pick-to: 5.15 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Drop qunicodecharGiuseppe D'Angelo2020-08-141-6/+1
| | | | | | | | | It's unused except in the definition of QStringLiteral, where we can just use char16_t. The static_assert can also go as it's already checked in qglobal.cpp. Change-Id: I06e8a87b4dea1582cd84957efca1b8ad0d2e0266 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDecompressHelper: Introduce zstd supportMårten Nordheim2020-08-145-2/+96
| | | | | | | | | Also take this opportunity to reshuffle the content-encodings in the intended ordering since the ordering is used to signify priority. Task-number: QTBUG-83269 Change-Id: I022eecf1ba03b54dbd9c98a9d63d05fb05fd2124 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QAtomic*: purge deprecated load() and save() methodsEdward Welbourne2020-08-144-68/+6
| | | | | | | | Deprecated in 5.14 in favor of loadRelaxed() and storeRelaxed(). Caught one surviving use of load() in the ios platform plugin. Change-Id: I9518064a948e5d26ccb956490cbb0561bed5d8b5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* qglobal.h: remove deprecated global functionsEdward Welbourne2020-08-144-106/+1
| | | | | | | | Since 5.0 - qMalloc(), qFree(), qRealloc(), qMemCopy(), qMemSet() Since 5.15 - qsrand(), qrand() Change-Id: I74fa3d17b05521271c3dc563fc85a5b133289ce3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QVariant: remove docs for non-existent deprecated methodsEdward Welbourne2020-08-141-40/+0
| | | | | | | | This follows up on commit 3898c022a647b1c742042e586963e193da546c1e which removed the code but not the methods themselves. Change-Id: Ia2311921365fdc5fee1104dd3162d6f26e5bb091 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QObject/Q_OBJECT: remove deprecated old APIEdward Welbourne2020-08-142-21/+2
| | | | | | | Since 5.0, trUtf8(), qFindChild() Change-Id: I7bc0d125f92faebf24a422c1aac528a3f4687434 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QCoreApplication: purge deprecated APIEdward Welbourne2020-08-142-84/+2
| | | | | | | | | Since 5.9 flush() Since 5.6 notifyInternal() Since 5.0 trUtf8() Change-Id: I1cc0fc5ebc3d7f2f4809c4494ab2a7486a481b10 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QQueue: purge deprecated API, swap(i, j)Edward Welbourne2020-08-141-5/+0
| | | | | | | | Was deprecated in 5.14 although the relevant annotations won't show up until 5.15.1. Change-Id: I5b88bd109b9785d8170c616c619d478969536bbf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Another round of using noexcept instead of pre-C++11 definesAllan Sandfeld Jensen2020-08-1311-118/+96
| | | | | | | A few new files were added with old-school defines. Change-Id: Ieb2c71e094e55102f3f39fb9551823f36863f5f4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Set default redirect policy to NoLessSafeRedirectPolicyFrederik Gladhorn2020-08-136-39/+22
| | | | | | | | | | | | | | | | | | | | | Not following redirects is not a feature, but just a hastle for everyone. The main issue with switching this default is that applications that actually do manual redirect handling will break in various ways. FollowRedirectsAttribute was removed as it no longer serves any purpose beyond duplicating the default value. [ChangeLog][Network] QNetworkAccessManager now follows redirects by default with the NoLessSafeRedirectPolicy. [ChangeLog][Potentially Source-Incompatible Changes] QNetworkRequest::FollowRedirectsAttribute was removed and has been superseded by QNetworkRequest::RedirectsPolicyAttribute Fixes: QTBUG-85901 Change-Id: Ic5b776180a4b84ac4fc895158bb5a66a3c91a042 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNAM: Don't error out if the server doesn't support any ALPN we requestMårten Nordheim2020-08-131-2/+2
| | | | | | | | | | If we ask for HTTP/2 or 1.1 and the server doesn't list either then we should still try to connect using HTTP/1(.1) just in case, to keep compatibility. Task-number: QTBUG-85902 Change-Id: I6ff2e38ac9d767e482a19ee4c81d101be37d3fab Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNAM: Don't close the connection due to not having a layer preferenceMårten Nordheim2020-08-131-2/+5
| | | | | | | | This seems to only be happening when we have a single channel because otherwise it will try IPv4 in one channel and IPv6 in the second. Change-Id: I0d513e25fefffeabfc733e895827aa12da335ef9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNAM: HTTP/2: Set user-agent for the HTTP proxy's headerMårten Nordheim2020-08-131-4/+13
| | | | | | | | The user-agent should be propagated to the proxy as well or else we get our default one. Change-Id: Id2283a8f2ade1a32f7fcf3d691be8d380d334b50 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNAM: Fix proxy auth handling when requesting but not yet changed to h2Mårten Nordheim2020-08-132-2/+4
| | | | | | | | In some cases (i.e. with SOCKS) we don't have a HTTP/2 request ready yet so it would just error out. Change-Id: I6449de5fb52f5208d5641062c5906c3baff18b77 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Windows QPA: Fix omitted Drop eventAndre de la Rocha2020-08-131-17/+6
| | | | | | | | | | | | | | | In some rare cases, when a mouse button was released while the mouse was static, a drag and drop operation would not be completed until the mouse was moved. Probably due to a Windows bug, the mouse button state supplied through the arguments of the IDropSource callbacks, called from the internal DoDragDrop() loop, would not reflect the actual mouse button state in this case. This change makes the callback implementation use the actual mouse button state provided by GetAsyncKeyState(). Fixes: QTBUG-85300 Pick-to: 5.15 Change-Id: I3405bdf7076ddc46415cd274a502434bdc0d2f3f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* CMake: Allow specifying a sysconfdir that's outside the prefixAlexandru Croitor2020-08-131-1/+1
| | | | | | | | | Also use the value to actually write it into qconfig.cpp so that qmake reports the right information. Change-Id: Icc4bf36b0dc6ad75d93ac16f39e5b361c0ce52b4 Fixes: QTBUG-81289 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* De-inline QIODevice::write(const QByteArray &)Alex Trotsenko2020-08-132-4/+7
| | | | | | | | | | | Since QRingBuffer is used as a temporary store for data to be written to a buffered device, we can implement a "zero-copy" strategy between the user-space code and QIODevice's internal write buffer. As a first step, we should have an entry point, where we can implement a possible solution. Change-Id: I1c658c13accc98c65a802be943688359cc9f9917 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix conversions to JSON from QVariantSona Kurazyan2020-08-137-20/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After reimplementing Qt JSON support on top of CBOR, there were unintended behavior changes when converting QVariant{, List, Map} to QJson{Value, Array, List} due to reusing the code for converting QVariant* types to CBOR types, and from CBOR types to corresponding JSON types. In particular, conversions from QVariant containing QByteArray to JSON has been affected: according to RFC 7049, when converting from CBOR to JSON, raw byte array data must be encoded in base64url when converting to a JSON string. As a result QVariant* types containing QByteArray data ended up base64url-encoded when converted to JSON, instead of converting using QString::fromUtf8() as before. There were also differences when converting QRegularExpression. Reverted the behavior changes by adding a flag to internal methods for converting CBOR to JSON, to distinguish whether the conversion is done from QVariant* or CBOR types. These methods now will fall back to the old behavior, if the conversion is done using QJson*::fromVariant*(). Additionally fixed QJsonValue::fromVariant conversion for NaN and infinities: they should always convert to QJsonValue::Null. This works correctly when converting from variant to QJsonArray/QJsonObject, but has been wrong for QJsonValue. Added more tests to verify the expected behavior. [ChangeLog][Important Behavior Changes] Restored pre-5.15.0 behavior when converting from QVariant* to QJson* types. Unforeseen consequences of changes in 5.15.0 caused QByteArray data to be base64url-encoded; the handling of QRegularExpression was also unintentionally changed. These conversions are now reverted to the prior behavior. Additionally fixed QJsonValue::fromVariant conversions for NaN and infinities: they should always convert to QJsonValue::Null. Fixes: QTBUG-84739 Change-Id: Iaee667d00e5363906eedbb67948b7b39c9d0bc78 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Restrict QVariant::isNull() behaviorLars Knoll2020-08-135-180/+18
| | | | | | | | | | | | | | | | | | | | | isNull() would forward to the contained type and check that type's isNull() method for some of the builtin types. Remove that behavior and only return true in isNull(), if the variant is invalid, doesn't contain data or contains a null pointer. In addition, implement more consistent behavior when constructing a QVariant using the internal API taking a copy from a void *. isNull() should return true in both cases. This mainly changes behavior for some corner cases and when using our internal API. [ChangeLog][Important Behavior Changes] QVariant::isNull() no longer returns true when the variant contains an object of some type with an isNull() method, that returns true for the object; QVariant::isNull() now only returns true when the variant contains no object or a null pointer. Change-Id: I3125041c4f8f8618a04aa375aa0a56b19c02dcf5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Restrict comparison of variantsLars Knoll2020-08-131-38/+82
| | | | | | | | | | | | | | | | | | | | | Comparing two variants will not try to convert the types of the variant anymore. Exceptions are when both types are numeric types or one type is numeric and the other one a QString. The exceptions are there to keep compatibility with C++ and to not completely break QSettings (which needs automatic conversions from QString to numeric types). [ChangeLog][Important Behavior Changes] Comparing two variants in Qt 6 will not try attempt any type conversions before comparing the variants anymore. Instead variants of different type will not compare equal, with two exceptions: If both types are numeric types they will get compared according to C++ type promotion rules. If one type is a QString and the other type a numeric type, a conversion from the string to the numeric tpye will be attempted. Fixes: QTBUG-84636 Change-Id: I0cdd0b7259a525a41679fb6761f1e37e1d5b257f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use the new support for comparisons in QMetaType for QVariantLars Knoll2020-08-135-147/+13
| | | | | | | | | | | | | | Remove the compare method in the QVariant::Handler struct. Rely on the generic support provided by QMetaType instead. [ChangeLog][Important Behavior Changes][QVariant] QVariant will now use builtin support in QMetaType to compare its content. This implies a behavioral change for some graphical types like QPixmap, QImage and QIcon that will never compare equal in Qt 6 (as they do not have a comparison operator). Change-Id: I30a6e7116c89124d11ed9052537cecc23f78116e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHeaderView: create virutal initStyleOptionForIndex functionThorbjørn Lund Martsum2020-08-132-19/+50
| | | | | | | | | | | | The paintSection was very long and thus difficult to override. This change makes it far more easy to do custom section painting or styling in the headerview. [ChangeLog][QtWidgets][QHeaderView] Introduced QHeaderView::initStyleOptionForIndex to make it easier to reimplement custom styling and painting of sections. Change-Id: I99e5fe8d70485a4650ab33e3d3eb4a46d6468326 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QCborValue: add support for QCOMPARE string outputThiago Macieira2020-08-122-75/+220
| | | | | | Change-Id: Ibdc95e9af7bd456a94ecfffd16066c47ea9766d0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QFileSystemModel: use the QFileInfo from the model as much as possibleVolker Hilsheimer2020-08-121-9/+19
| | | | | | | | | | If the file system already stores a QFileInfo, then it will have the information cached, which avoids costly roundtrips to the file system. Task-number: QTBUG-41373 Change-Id: I830a39fe0e20ebf07abde4438a87f7572f608d66 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QFileDialog: fix warning message when navigating to "My Computer"Volker Hilsheimer2020-08-121-4/+5
| | | | | | | | | | | | | | | | The mapping between model indexes, QUrl, and QDir in QFileDialog resulted in QFileSystemEngine methods being called on empty strings, which results in a warning from QFileSystemEngine. When QFileDialog gets an empty string as the new path, then we know that it's the "My Computer" location, so handle that case separately. This makes sure we don't call any QFileSystemEngine methods with an empty string. Change-Id: I421d3d76b053379c216c41a72fb783d1bad176cb Pick-to: 5.15 Fixes: QTBUG-67866 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QFileDialog: reduce number of times a file is stat'edVolker Hilsheimer2020-08-122-76/+65
| | | | | | | | | | | | | | | | | | When opening a QFileDialog with an initial directory that lives on a disconnected network drive, repeatedly testing that directory consumes a significant amount of time during which the UI is blocked. To reduce the amount of file accesses, refactor the initialization code to allow sharing of a QFileInfo for the default case of operating on a local and absolute file system. This reduces the amount of stat calls significantly during startup time, and in case of a disconnected network shaves of 10-15 seconds of blocked UI, if Windows has already noticed that the file system is disconnected. Pick-to: 5.15 Fixes: QTBUG-6039 Change-Id: Ie082e447db214033291455bef2087cd05f366806 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Configure.json: Do not link to pthread on Android on feature testingCristian Adam2020-08-123-2/+1009
| | | | | | | | | pthread has been removed from the NDK and the cxx11_feature detection fails. Fixes: QTBUG-72330 Change-Id: I22a97814b7e95011ad3944327f02343348c72b91 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtFontStyle: Add missing const to non-mutable operatorsKonstantin Ritt2020-08-121-3/+3
| | | | | | | | and once I touch these lines anyways, either add noexcept ;) Fixes-up 8bdbb7f2267 Change-Id: Ibfaedcff82c041293220408ab7ae739b3cbd2a4f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* CMake: Expose public info about whether Qt is a shared lib buildAlexandru Croitor2020-08-121-0/+1
| | | | | | | | | | We expose it in the private QtBuildInternals package, but we need it also as public information for consumption in qt_import_qml_plugins() to decide whether it should do anything. Change-Id: If135ae596b4edaf8e2c458f6a2518b968c6d01c4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QXmlStreamReader: Don't resize readBuffer to a size it already hasRobert Loehning2020-08-121-1/+2
| | | | | | | | | | | Resizing it to 0 will cause it to allocate memory. This will then cause append() to copy the data from the other string instead of using copy on write. Task-number: oss-fuzz-24347 Pick-to: 5.12 5.15 Change-Id: I581bd109f9b973e1c70b7b41b1f610a2ad5725b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Inline two macros in the unicode tablesEdward Welbourne2020-08-121-10/+6
| | | | | | | | They were only used by one function each, in unicodetables.cpp, so don't need to be macros. Change-Id: I3e7f9f661568862d0a0d265bb8f657a8e0782b13 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows: Remove method not existing in base classKai Koehne2020-08-121-1/+0
| | | | | Change-Id: Ifd016eabb07849fb3f310593ebe5301d3a9b09c1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* HTTP/2: Don't handle Remote Disconnected if we haven't switched yetMårten Nordheim2020-08-121-1/+2
| | | | | | | | | In that case we haven't created the h2 handler yet, so it will crash when trying to access various members. Task-number: QTBUG-85902 Change-Id: Id0699ff06ef67748a16622703f731db0b0867771 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNX: fix buildSamuli Piippo2020-08-121-2/+2
| | | | | | | | Remove unused argument and use default contructor for the flags. Change-Id: I09d319bc58199ed713333055a2fdd519c249f831 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* QNX: register mouse input deviceSamuli Piippo2020-08-122-8/+27
| | | | | | | | | | Use the new QWSI APIs that take a registered input device. Task-number: QTBUG-85852 Change-Id: Iefb8239a60ff819172ba64f35f120cdc6975257f Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QDecompressHelper: Change order of encodingsUlf Hermann2020-08-121-1/+1
| | | | | | | | | Before the introduction of QDecompressHelper gzip was preferred over deflate. The change seems to be accidental. Amends commit 7b76379a89158f10780cbfc74965027246faec68. Change-Id: I70f33d551912465d63f49ea3db1ac3575d19a92d Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Allow smooth curve stroking for very wide linesEirik Aavitsland2020-08-121-1/+5
| | | | | | | | | | | | | | The earlier limit set on the curve threshold turned out to be too strict, leading to visibly bad rendering in reasonable use cases. Ref. 5322998a0ba80b1e095340245ddb00aaf5947be9 As a drive-by, add a missing fixed-to-real conversion. (This is a no-op in a default build, where qfixed==qreal.) Fixes: QTBUG-85193 Pick-to: 5.15 5.12 Change-Id: I7cc3543d7aa4e90643b275686372400879decef2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Doc: Remove outdated documentationPaul Wicking2020-08-121-5/+0
| | | | | | | | | We don't have this class in Qt anymore. Drop the related snippet as well. Pick-to: 5.15 Change-Id: I5149e2f9da483b9ad678a6d414a278cb7e107f10 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Introduce maximumIdentifierLength to return database limits for namesAndy Shaw2020-08-115-3/+25
| | | | | | | | | Since Interbase/Firebird has a limit for column and table names then this function can be used by QSqlRelationalTableModel to make sure that the aliases created are within that limit. Change-Id: I0cb1c65b34befcb3690ccad3f081556dd2691344 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QJsonDocument: fix comparison of valid vs defaultThiago Macieira2020-08-111-1/+3
| | | | | | | | | | | [ChangeLog][QtCore][QJsonDocument] Fixed a bug that caused QJsonDocument's equality operator to crash if one of the operands was default-constructed and the other wasn't. Pick-to: 5.15 Fixes: QTBUG-85969 Change-Id: I5e00996d7f4b4a10bc98fffd1629f835f570ef6b Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Document how keyboard tracking can prevent use of a date/time editorEdward Welbourne2020-08-111-9/+52
| | | | | | | | | | | | | This follows up on commit 580e9eedf783ccbdcb67baa3d1a9dcdd53922f86; if the allowed range is narrower than some time interval whose end it straddles, users can only access the later part of the range if keyboard tracking is disabled. Pick-to: 5.15 Task-number: QTBUG-65 Change-Id: Ie8882bd65bda603133abaa82ad83eb1cdd91f175 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Introduce QIODevice::skipData()Alex Trotsenko2020-08-1115-36/+56
| | | | | | | | | | | | | | | | | | | QIODevice::skip() called a virtual QIODevicePrivate::skip() to implement an efficient skipping on I/O devices for the internal subclasses. The user subclasses cannot inherit QIODevicePrivate, so this functionality was not externally accessible. This patch replaces QIODevicePrivate::skip() with a virtual protected QIODevice::skipData(). While the basic implementation simply discards the data by reading into a dummy buffer, users can reimplement this function to improve the performance in their subclasses. [ChangeLog][QtCore][QIODevice] Added virtual protected skipData(). Now, subclasses can implement device-specific skipping of data. Change-Id: I9522f7f7ab9d03ac06e972a525f8ec2fa909a617 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove old CBOR-based format from QShaderLaszlo Agocs2020-08-114-218/+19
| | | | | | | | | We only support version 4 and 5 in Qt 6.0. 1 and 2 are already gone (due to being based on binary JSON), now we remove 3 as well. Task-number: QTBUG-81346 Change-Id: I3627dcc0587f1e36f11e93edf7172889e911d64e Reviewed-by: Andy Nichols <andy.nichols@qt.io>