summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Implement QAbstractFileIconProvider to use theme and mime databasesVolker Hilsheimer2020-08-262-11/+42
| | | | | | | | | | | | | | This doesn't give useful defaults on all platforms; icon themes are not provided on platforms other than Linux, and the mime database doesn't always return user-friendly names based on file names. However, both icon themes and the mime database can be customized by application developers by shipping a data file side-by-side with the application, without the need for reimplementing the provider class. Change-Id: Ie4b18ac1b861e2da64f01d1f209986b27fbe6bd5 Task-number: QTBUG-66177 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Properly free m_mtdev when mtdev_open() returns an errorSteffen Kieß2020-08-261-0/+1
| | | | | | Pick-to: 5.15 Change-Id: I57813da1eafe9fbc9d60b865e867558791e34528 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Fix warning from unused parameterVolker Hilsheimer2020-08-261-0/+1
| | | | | Change-Id: I2e31d43492f94edf4030fdbd88c1000396bdf250 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: Fix currentThreadId to work on Android emulatorAlexandru Croitor2020-08-261-2/+2
| | | | | | | | | | | | | | | | | | | Apparently the Linux asm assumptions are not correct for the x86 Android emulator and this caused Android apps not to work properly: signal connections being queued instead of being direct, crashes in QPropertyAnimation, etc. Using currentThreadIdImpl on the Android emulator works fine though. Optimizing the code for the Android emulator case can be done in another change. Amends 5e9b2ade678f37e43bfc2e3484f54cbbb5844d2e Fixes: QTBUG-85640 Change-Id: I3b3ba76ea143aed949a6e50678c850b6ba231476 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QRegularExpression: code tidiesGiuseppe D'Angelo2020-08-261-6/+2
| | | | | | | | Given QList-is-QVector, remove an historical piece of code. Change-Id: I7a8876be8ade6dbaa1822d773b092ddb3c4182d4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QRegularExpression: do not assume QStringViews are NUL terminatedGiuseppe D'Angelo2020-08-251-3/+18
| | | | | | | | | | | The convenience API used to look up the index of a named capturing group expects NUL terminated strings. Therefore, we can't just use it together with QStringViews, which may be not. Use the non-convenience API instead. Pick-to: 5.15 Change-Id: I25ca14de49b13ee1764525f8b19f2550c30c1afa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cleanup QTypeInfoLars Knoll2020-08-266-134/+21
| | | | | | | | | | | | | | | Remove QTypeInfo::isStatic, as that's not used anymore in Qt 6. Also remove sizeOf, it's unused, and we have QMetaType for that if required. Remove all typeinfo declaractions for trivial types, as the default template covers them correctly nowadays. Finally set up a better default for isPointer, and do some smaller cleanups all over the place. Change-Id: I6758ed37dfc701feaaf0ff105cc95e32da9f9c33 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port headersclean check to CMakeKai Koehne2020-08-252-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Configure Qt with -DQT_FEATURE_headersclean=ON to enable the check. There will be separate target for each module include (e.g. QtCore_header_check), but the check will also be done when the module is built for the first time. There are notable differences to the qmake version: - the build does not pick up anymore default defines or flags from the module, or Qt. Instead options like -fPIC they have to be listed explicitly. Also for this reason, we have to skip the vulkan-related headers from the check, since vulkan/vulkan.h is not necessarily in the compiler's default search path. - some checks for nowadays unsupported compiler versions are removed. - -Wdouble-promotion -Wshorten-64-to-32 is not added for clang builds; the qmake code path did never enforce that on CI machines (it was non-Apple clang only), and the check currently fails on these configurations. Fixes: QTBUG-82615 Change-Id: I1cd303677b1472116910b6c27748f96436feb35e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: split arguments passed to the main appAssam Boudjelthia2020-08-251-1/+2
| | | | | | | | | | | Keep the same behavior as desktop platforms with QApplication::arguments() should return a string list of args not a string of args together. Task-number: QTCREATORBUG-23712 Change-Id: I1874655427f5c902ca81a3fcf6183d0eeccbfef7 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Port QSet to qsizetypeUlf Hermann2020-08-252-7/+7
| | | | | Change-Id: I70ad8fb6908ce3837a723e9a095bee5c166739e4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Document the QAbstractFileIconProvider::IconType enumVolker Hilsheimer2020-08-251-7/+8
| | | | | | | | | Follow language from the icon naming specification on freedesktop.org at https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html Change-Id: I740842a39a9cd56152a799698a648ad6a6e274e5 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Rename confusingly named QFont/QPalette::resolve overloadsVolker Hilsheimer2020-08-2517-75/+77
| | | | | | | | | | | | | | | Having three methods with the same name doing different things is unnecessarily confusing, so follow the standard naming convention in Qt and call the getter of the resolve mask resolveMask, and the setter setResolveMask. These methods were all documented as internal. The publicly documented resolve() method that merges two fonts and palettes based on the respective masks remains as it is, even though 'merge' would perhaps be a better name. Change-Id: If90b1ad800834baccd1dbc38fc6b861540d6df6e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QLineF: Don't try calculating a unit vector when length is nullRobert Loehning2020-08-252-4/+8
| | | | | | | | | | It's undefined and causes a division by zero. Fixes: oss-fuzz-24561 Pick-to: 5.12 5.15 Change-Id: Idebaba4b286e3ab0ecb74825d203244958ce6aec Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Code style fixNie Cheng2020-08-251-45/+37
| | | | | | Change-Id: I0174293421d866f3b124a9ff4344052749e8a1b9 Reviewed-by: Nie Cheng <niecheng@uniontech.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Android: add the option to set package signing information from env varsAssam Boudjelthia2020-08-251-1/+30
| | | | | | | | | | | | | | | | | Use the following env vars to help conceal private signing information: - QT_ANDROID_KEYSTORE_PATH - QT_ANDROID_KEYSTORE_ALIAS - QT_ANDROID_KEYSTORE_STORE_PASS - QT_ANDROID_KEYSTORE_KEY_PASS [ChangeLog][Platform Specific Changes][Android] Added the option to conceal package signing information using environment variables. Task-number: QTBUG-84922 Change-Id: I1fac51ed9e88ef42c761bc916ba1c3bf439806e8 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* QPrinterInfo: Remove deprecated methodsMarcel Krems2020-08-252-50/+0
| | | | | Change-Id: I5089bc23308a4348dc21122dfa000d5ca6e3938d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTextLayout: Remove deprecated methodsMarcel Krems2020-08-252-37/+0
| | | | | Change-Id: I7991428fb3526e48c0ceda0dcc46ea8a0918cb95 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Introduce QEvent::isPointerEvent()Shawn Rutledge2020-08-254-4/+34
| | | | | | | | | | This makes high-level event dispatching easier: for example in Qt Quick, all pointer events should eventually be delivered to items in a similar way. Implemented in a similar way as d1111632e29124531d5b4512e0492314caaae396. Change-Id: I2f0c4914bab228162f3b932dda8a88051ec2a4d7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Move QFileSystemModel into QtGuiVolker Hilsheimer2020-08-2530-196/+467
| | | | | | | | | | | | | | This requires a QAbstractFileIconProvider in QtGui, as the standard QFileIconProvider depends on QStyle, and cannot be moved out of QtWidgets. QAbstractFileIconProvider returns strings for file types, but returns no icons yet. Support for a default icon set might be added in a follow-up commit. Change-Id: Ib9d095cd612fdcf04db62f2e40709fcffe3dc2b7 Fixes: QTBUG-66177 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix warning after QMetaType changesVolker Hilsheimer2020-08-251-1/+1
| | | | | Change-Id: Id0a8ac5cc516732e6bc03c4a7d153486003d0881 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QStringList: inherit the constructors from QListGiuseppe D'Angelo2020-08-252-28/+1
| | | | | | | Otherwise it would be missing some, e.g. QStringList(qsizetype). Change-Id: I5214672e62c98514b37b09d283e6035c799eda99 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* wasm: deregister event handlersLorn Potter2020-08-252-0/+22
| | | | | | Pick-to: 5.15 Change-Id: I453b87497c7ed93b92bf9f4c59ab1c8bd1d7712e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Be verboseBogDan Vatra2020-08-241-1/+1
| | | | | | | make apk takes a LOT of time, showing that it's not hanged it's useful. Change-Id: I4fb11e0f535cf2311d71dff3710135b465ecc06b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Move QStateMachine from QtCore to QtScxmlKarsten Heimrich2020-08-2474-10218/+208
| | | | | | Task-number: QTBUG-80316 Change-Id: I2ee74110fd55e94d86321d3b3dc5bb8297424ed4 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* QByteDataBuffer: add readPointer functionality using QByteArrayViewMårten Nordheim2020-08-241-0/+49
| | | | | | | | While it could be done before it's nice to not have a custom "local" struct or the size in an out-parameter. Change-Id: Ie910f7060b1dadf037312d45e922f8e2deafe3ec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QAbstractSocket: Resolve remaining Qt6 TODOsMårten Nordheim2020-08-243-54/+5
| | | | | Change-Id: Id257f0721c1cd5fcbafa9297bae0251a2d68e366 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Make QNetworkAccessManager::supportedSchemes virtualMårten Nordheim2020-08-242-9/+7
| | | | | Change-Id: I6807e2133049551bbaa4c6f312b6a00ea752f81b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QHostInfo: address a Qt 6 todoMårten Nordheim2020-08-242-18/+16
| | | | | | | | Merged the two functions, required adding a friend declaration Change-Id: I86265da19e4b5f53d9e2dc54de3e252f0364225b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Disable cipherstring-setting test for schannelMårten Nordheim2020-08-241-0/+2
| | | | | | | And put a note about it in the documentation Change-Id: I29126e4a80f83c256190e03b8fe01f3c869fd46d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* http: When falling back to http/1 use the socket's ssl configMårten Nordheim2020-08-241-10/+4
| | | | | | | | | And not the ssl configuration we have on the reply since it's missing e.g. the newly received session ticket. Change-Id: Idfeb09012a847605a76d1fe4fb881c663d019b4a Reviewed-by: Peter Hartmann <peter@edelhirsch.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkReply(http): Ignore ssl errors in all reserved channelsMårten Nordheim2020-08-241-2/+6
| | | | | | | | | | | and not just the active one(s). When starting the connection with HTTP/2 and calling QNetworkReply::ignoreSslErrors() it would previously only ignore the errors in the single active channel that was used, but if we then fall back to HTTP/1.1 then we'll use the 5 other channels as well, and those would then fail due to the ignored ssl errors. Change-Id: I7aeb5b59897dd3a53579f0d38bd255bc2d97c2bb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix running qml tests on AndroidBogDan Vatra2020-08-241-31/+31
| | | | | | | | | | | | | | First and foremost the condition was wrong ... In order to help running qml test cases on Android without any android specific hack on user's .pro files we copy the entire project folder to assets. I copy the entire folder and not only the tst_*.qml files because it might contain data which is needed by the tests to run. Change-Id: I06323d9d52904317410dd2f440de65a0766a48b5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* QIODevicePrivate: rearrange class membersAlex Trotsenko2020-08-243-37/+27
| | | | | | | | | | | | | | As this class is a subject of the library hook data, there must be a solid understanding of the member's alignment and padding across different architectures. By reordering the layout, this patch provides a clearer way of adding new members to the class. Bump the TypeInformationVersion field in qtHookData, to notify the Qt Creator developers that the offset of QFilePrivate::fileName was changed and dumpers should be adapted. Change-Id: Ied8b69bdeb9da50ff05aba2107bc75509674b18e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLocale: Fix double conversion snippetAndre Hartmann2020-08-241-19/+19
| | | | | | | | | | | | | * QString("1234,56").toDouble(&ok); always operates in the "C" locale and therefore ok is always false * Explicitly state that the return value is zero when ok is set to false * Made snippet compileable by giving str a type Pick-to: 5.15 Change-Id: I403eb39ca78a5f9ceb92ccd8ac3539581294796c Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSqlite: Don't crash after binding too many placeholdersMarcel Krems2020-08-241-1/+6
| | | | | | | | | | | | | | When you bind more values than the query has placeholders, indexes will be empty which causes an out-of-bounds access in indexes.first. We can't check the parameter count because of multiple placeholders with the same name, so we check if the name is null. Tested with SQLite and PostgreSQL Pick-to: 5.15 Change-Id: Id5d4bd15d7ed16603f47b87d6e0bf811a20157d8 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Widgets: make indexOf take const QWidget *Giuseppe D'Angelo2020-08-246-6/+6
| | | | | | | | As it's the right thing to do to preserve const correctness. Fixes: QTBUG-85833 Change-Id: I0d45442c5e2b997998bba8dc894fee75da3e8e8c Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Remove QEventPoint::event() in favor of device()Shawn Rutledge2020-08-243-17/+16
| | | | | | | | | | | | | | | | | | | | | | event()->device() was the most common use case anyway. The idea that the "parent" of a QEventPoint is the QPointerEvent interferes with the ability to copy and move event objects: the parent pointers are dangling unless we use the QPointerEvent subclass destructors to set the points' parents to null. Since there is no move constructor, even returning a QEventPoint from a function by value results in destroying the temporary instance and copying it to the caller's space. So the parent pointer is often useless, unless we do even more work to maintain it when the event moves. If we optimize to avoid copying QEventPoints too much (and perhaps enable exposing _mutable_ points to QML) by storing reusable instances in QPointingDevice (which is the current plan), then the actual parent will no longer be the event. Events are usually stack-allocated, thus temporary and intended to be movable. Change-Id: I24b648dcc046fc79d2401c781f1fda6cb00f47b0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: provide a code example of QDirIterator's nameFilters parameterMitch Curtis2020-08-242-1/+10
| | | | | | Change-Id: I56f9251f17bab0f835979a5feadec1fa896c9d69 Pick-to: 5.15 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Rename QSequentialIterable::refUlf Hermann2020-08-242-17/+17
| | | | | | | | Follow the naming convention and remove workarounds in ctors. Change-Id: Ic7f9de074edab7db369803612a2a2a4ea3deaf57 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove private QSequentialIterable begin/end methodsUlf Hermann2020-08-242-14/+2
| | | | | | | | | Those are only used by the only friend of the class. As that one can already poke into QSequentialIteralble's privates, there is no point in exposing further methods in the public API. Change-Id: I368e7bcfc43c31f38a42a41a339ff3135d79417c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove the QPF2 font engineEskil Abrahamsen Blomfeldt2020-08-248-944/+7
| | | | | | | | | | | | | | | The QPF2 font engine has been kept around for compatibility reasons in Qt 5.x, and it is time for it to retire for now. If we want something like this in the future, we can revive it with hardware acceleration / Qt Quick as one of the primary use cases, but for now, it seems that Freetype and our existing caching is sufficient also for low-end use cases. [ChangeLog][QtGui][Text] Removed support for the legacy QPF2 font format as well as the makeqpf tool used to generate those files. Change-Id: Id43039c92fe5bd95b628cd769e045c029f39a350 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make the canConvertMetaObject method safeLars Knoll2020-08-241-3/+4
| | | | | | | | | | This triggered a crash in QtQml, where an manually created metattype interface set the PointerToQObject flag to true while not providing a metaobject. Change-Id: I206fb9655058a1e8a2d04e44186b05db33358338 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove QVariant(QDataStream) constructorLars Knoll2020-08-242-15/+0
| | | | | | | | | | | | | | | The constructor wasn't constructing a QVariant holding a QDataStream, bug loading the variant from the datastream. This is opposed to how QDataStream works in all other places, and also not in line with all other constructors for QVariant. [ChangeLog][QtCore][QVariant] Removed the QVariant(QDataStream) constructor. Use QVariant().load(datastream) instead. Change-Id: I6ac54e12166b9383c09c3940eef2516f896fd359 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use QMetaType in QMetaCallEventLars Knoll2020-08-249-34/+34
| | | | | | | And don't use int based type mapping anymore. Change-Id: I456e76d1933ef646a7bd39ce565886b89e938a44 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Pass QMetaType by valueLars Knoll2020-08-247-18/+17
| | | | | | | | Now that QMetaType is not refcounted anymore, we can and should pass it by value. Change-Id: I848db65070713762f548ca949097c27783aacad4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clean up int based convert() APILars Knoll2020-08-247-57/+73
| | | | | | | Pass QMetaType instances instead. Change-Id: I07366cea566fdebf5bb793aa8087f8109216ec0c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Deprecate int based convert/canConvertLars Knoll2020-08-248-23/+66
| | | | | | | Better to provide the correct meta type to convert to. Change-Id: I8e0d46e4ba482186201c157e302c03874bd38e7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Return a qsizetype from QMetaType::sizeOf()/alignOf()Lars Knoll2020-08-242-4/+4
| | | | | | | Object sizes in Qt 6 should use qsizetype. Change-Id: I76ceb5faf361d7f6be88d88c772358ad6d701d54 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Deprecate the static int based API in QMetaTypeLars Knoll2020-08-2425-254/+183
| | | | | | | | | | | | | And remove one of the type id to name mapping that still existed in QMetaType. QMetaTypeInterface can provide that, so there's no need to have a second copy of the data. qMetaTypeTypeInternal() can still map all the names of all builtin types to ids. That functionality is for now still required by moc and can't be removed yet. Change-Id: Ib4f8e9c71e1e7d99d52da9e44477c9a1f1805e57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove refcounting of QMetaTypeInterfaceLars Knoll2020-08-245-76/+21
| | | | | | | | | It's only used for dynamic types in DBUS and QML, where we control things good enough to be able to handle the lifetime of those interfaces there. Change-Id: Ia7f8970d17a85b195db85fcdc2d8f1febd8753f4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>