summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge integration refs/builds/qtci/dev/1618240808Qt CI Bot2021-04-123-3/+10
|\
| * Silence qdoc warning from deprecated enum valueVolker Hilsheimer2021-04-121-0/+1
| | | | | | | | | | | | | | | | The mis-spelled value doesn't need documentation. Pick-to: 6.1 Change-Id: I709abdca1d515902b3a12d3c5a5b62809d1f9a8b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * QNetworkInformation: Private the destructorMårten Nordheim2021-04-122-3/+9
| | | | | | | | | | | | | | | | It wasn't meant to be public. Pick-to: 6.1 6.1.0 Change-Id: Ifa7fff48f82b96bdfa277677d3988dc8881b8c2a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge integration refs/builds/qtci/dev/1618233601Qt CI Bot2021-04-122-30/+23
|\ \ | |/ |/|
| * QNetworkInformation: Remove the default argumentMårten Nordheim2021-04-122-30/+23
| | | | | | | | | | | | | | | | | | And the code for loading whatever backend is sorted first. Though, looking at the code it would've never returned 'true' anyway. Pick-to: 6.1 6.1.0 Change-Id: I7bc2c740e8cb5343e5843cb1d65715d236b92a25 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge integration refs/builds/qtci/dev/1618228407Qt CI Bot2021-04-121-1/+1
|\ \
| * | QNetworkInformation: make supports(...) not virtualMårten Nordheim2021-04-121-1/+1
| |/ | | | | | | | | | | | | Pick-to: 6.1 6.1.0 Change-Id: Ib8d27410e6baa495a7351a57c8c1c1b30a64eb26 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | QtFuture::connect: disconnect signals firstMårten Nordheim2021-04-121-7/+7
| | | | | | | | | | | | | | | | | | | | During reportFinished we may call a continuation which might end up triggering one of the signals. Pick-to: 6.0 6.1 Change-Id: I19546fcca12be71cd536e4287eb5eddd9d236830 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | QtConcurrentIterateKernel: fix warningMårten Nordheim2021-04-121-1/+1
| | | | | | | | | | | | | | | | | | src\concurrent\qtconcurrentiteratekernel.cpp(134): warning C5055: operator '*': deprecated between enumerations and floating-point types Pick-to: 6.0 6.1 Change-Id: I934e767e77e9393e1da3adc390dc8e252e7f5b6a Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* | doc: Fix typoAlbert Astals Cid2021-04-121-1/+1
|/ | | | | | Pick-to: 6.1 Change-Id: Ia4219d06e306b2abd2ac0977cac63ce0492c6397 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add "QT_DEPRECATED_VERSION_XXX" macrosJiDe Zhang2021-04-121-0/+32
| | | | | | | | | Since 6.3 to 6.6, for which version add "QT_DEPRECATED_VERSION_X_6_" and "QT_DEPRECATED_VERSION_6_" macro. Change-Id: I10c77b1ed436ce3442960f5594f86a3a3be181f2 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix GLX on non-linux X11 systemsNiclas Rosenvik2021-04-115-7/+7
| | | | | | | | | | | | | Some parts of the GLX code is only enabled for Linux. This makes builds on other X11 supported platforms break when GLX is found. To fix this enable these parts of the code when Qt feature xcb-glx-plugin is enabled. xcb-glx-plugin has to be made public in order for QT_CONFIG(xcb_glx_plugin) to work correctly in these parts of the code. Change-Id: I6bf78b6a64787ed88c8e2fae40675244c9198c37 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Android: Bump gradle (plugin) versionsMike Achtelik2021-04-106-44/+62
| | | | | | | | | | | | | | | | | | | Android Gradle plugin 4.1.3 is compatible with the new <queries> declaration for package visibility on Android 11. If someone adds the <queries> element or starts relying on a library or SDK that supports targeting Android 11, they might encounter manifest merging errors when building the app. This is important since starting August 2021 the PlayStore requires new apps from targeting Android 11. So lets update to the newest Android Gradle plugin version. This also reverts 1e4dec12d5c0152d5c3eee3b612a0af4bf389a37 as AGP 4.1 requires at least buildToolsVersion 29.0.2. Change-Id: Id8ce5dadeb8a325dc9f901503946f325f3fd18a0 Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Merge integration refs/builds/qtci/dev/1617996746Qt CI Bot2021-04-091-1/+3
|\
| * Fix generating mimedatabase with generate.pl using makeNiclas Rosenvik2021-04-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | When building using make and having set QT_AVOID_CMAKE_ARCHIVING_API to ON the build breaks with the message "sh: cannot create .rcc/qmimeprovider_database.cpp: directory nonexistent" . ninja creates this directory automatically, make does not. Add a file MAKE_DIRECTORY cmake command to make sure the .rcc directory is created. Change-Id: I140279a794753436d427d647ab2231636827d07f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QCoreApplication: improve docs on exit() and quit() thread-safetyThiago Macieira2021-04-091-1/+14
| | | | | | | | | | | | | | | | Reporter of QTBUG-91771 was confused. Pick-to: 6.1 Change-Id: I26b8286f61534f88b649fffd166c4368167a5638 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QCoreApplication::exit: make it a slotThiago Macieira2021-04-091-1/+1
|/ | | | | | | | | | | The documentation even refers to it as such. Instead of refactoring the documentation to explain that it isn't, just make it a slot. [ChangeLog][QtCore][QCoreApplication] exit() is now a slot, like quit(). Pick-to: 6.1 Change-Id: I26b8286f61534f88b649fffd166c43afbb80927f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix futexNeedsWake() on 64-bit systemsAllan Sandfeld Jensen2021-04-091-4/+5
| | | | | | | | | It was mistaking semaphore values over 0 as waiters, regardless of actual waiters. Pick-to: 6.1 Change-Id: Icebd01592ca8bdc1687a29dc569e3b630a262606 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix read-only pseudo-state in QPlainTextEdit stylesheetEirik Aavitsland2021-04-091-1/+7
| | | | | | | | | | Was implemented for the other text edit widgets, but not for QPlainTextEdit. Pick-to: 6.1 6.0 5.15 Fixes: QTBUG-92490 Change-Id: Idd2a1b5c743fc030d3f2d4dd24e98f806b58f4d9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge integration refs/builds/qtci/dev/1617904724Qt CI Bot2021-04-081-1/+1
|\
| * Call statx() with AT_NO_AUTOMOUNTAlexander Volkov2021-04-081-1/+1
| | | | | | | | | | | | | | | | | | Otherwise it can be very slow in some cases (e.g. 0.5 sec). Besides, AT_NO_AUTOMOUNT is used by {l,f}stat() internally. Pick-to: 6.1 6.0 5.15 Change-Id: Iae9c8b46dcdc96d21ac6b114a51c382b4949d3dd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge integration refs/builds/qtci/dev/1617895155Qt CI Bot2021-04-081-2/+7
|\ \
| * | Fix environ build break on FreeBSDNiclas Rosenvik2021-04-081-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMAKE_LFLAGS_NOUNDEF = <EMPTY> for FreeBSD did not get converted to CMakeLists.txt. This breaks the build on FreeBSD since environ is missing from libc, it is available at runtime. Turn -Wl,-no-undefined into warnings on FreeBSD to fix the build. Also add a comment based on the one from corelib.pro . Change-Id: I3835884a2682af0f68a4d65dede3e4e5d4104ac8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge integration refs/builds/qtci/dev/1617891528Qt CI Bot2021-04-081-3/+0
|\ \ \
| * | | Skip adding externally added plugins to the plugin meta-setsAlexey Edelev2021-04-081-3/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | Plugin meta-sets are not visible outside of the module build tree, so there is no point in adding dependencies for externally added plugins. Change-Id: Ica5b29b57c032f4fc9b128172aaa806392e9e581 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge integration refs/builds/qtci/dev/1617887904Qt CI Bot2021-04-081-11/+11
|\ \ \ | |_|/ |/| |
| * | Set QGuiApplicationPrivate variables after platform window is destroyedAndy Shaw2021-04-081-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By setting these variables after the platform window has been destroyed, it will enable any platform specific code to handle changes in terms of focus and so on before the destruction of the window changes these directly. For example, this will prevent a problem with iOS where it keeps track of the current focus object as the signal indicating that the change to focus will still be emitted. This is before the variable is set to nullptr if there is no parent window. Change-Id: Ie540c10760d06dc62e163ccf6f6edea200b43bbf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Merge integration refs/builds/qtci/dev/1617880670Qt CI Bot2021-04-082-0/+14
|\ \ \ | |_|/ |/| |
| * | Specify QT_TESTCASE_BUILDDIR for Qt::Test users implicitlyAlexey Edelev2021-04-082-0/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_TESTCASE_BUILDDIR was implicitly defined by Qt::Test target for library users in Qt5. By default, this definition will point to CMAKE_CURRENT_BINARY_DIR. This logic works similarly to qmake logic. From user's perspective it might be useful to not rely on standard search paths, but specify own. This can be done by setting the QT_TESTCASE_BUILDDIR property for the user's target. CMake will substute the value of the QT_TESTCASE_BUILDDIR property into the QT_TESTCASE_BUILDDIR definition. The implicit QT_TESTCASE_SOURCEDIR also seems to be useful. According to the current logic, it points to CMAKE_CURRENT_SOURCE_DIR. Fixes: QTBUG-92079 Change-Id: I8a9065f08e859c713b3c8cc08142a9ced0677770 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge integration refs/builds/qtci/dev/1617874569Qt CI Bot2021-04-081-3/+24
|\ \ | |/ |/|
| * Fix linking order of the resource objectsAlexey Edelev2021-04-081-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generated object resource library depends on the Qt::Core library because uses the functions defined in qresource.cpp. Dummy linking of the Qt::Core to an object library has an effect only when the object library is linked directly to the executable as a target. If we link the object library as INTERFACE library we miss out all the objects that need to be linked to the executable. This behavior is explained here: https://bit.ly/3sFWKvI Thus, the only option to link the object library objects to the endpoint executable is to use TARGET_OBJECTS property in genex, as it's already done. But that means we are losing all profits that target actually has, especially linking the object library dependencies. The combination of both of the above methods does the job. The only thing that looks fragile so far is order. Currently, the order we use in the target_link_library call applies to the linker command line. This means the object library objects must always appear before the object library target. Change-Id: If1f0e35e0445d5e96a1f2249ab44114cd36630e9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Don't judge other people's writing systemsVolker Hilsheimer2021-04-081-10/+8
|/ | | | | | Pick-to: 6.1 6.0 5.15 Change-Id: Ifb8265bad4c8c96c6b20f957c376cec47e28f666 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Merge integration refs/builds/qtci/dev/1617829777Qt CI Bot2021-04-071-1/+1
|\
| * Add legacy external storage access flagFabio Falsini2021-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since latest version of Qt need Android target sdk 29 the qt direct storage access doesn't work because a new scoped storage access way has been introduced. This flag allow to have current storage access way to work again (but is limited to target sdk 29 only) Pick-to: 5.15 6.1 Fixes: QTBUG-92239 Change-Id: If0d0af7c171de4b3e8bb8dd9a88fd61b65d1c839 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Merge integration refs/builds/qtci/dev/1617826149Qt CI Bot2021-04-071-1/+1
|\ \ | |/ |/|
| * QTextHtmlParserNode: Limit colspan to avoid segfaultRobert Löhning2021-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes oss-fuzz issue 29758. [ChangeLog][QtGui][Text] QTextDocument::setHtml: column spans are limited to 20480, an arbitrarily high but reasonable value. Fixes: QTBUG-92463 Pick-to: 5.15 6.0 6.1 Change-Id: Ib759e3e3ac0b0d0d483f8e8ce11002e079db3ace Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge integration refs/builds/qtci/dev/1617813097Qt CI Bot2021-04-075-32/+85
|\ \ | |/ |/|
| * fix Alt+` shortcut on non-US layoutsAndrey Butirsky2021-04-072-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible for non-letter-keys with Latin 1 symbols (`, !, @ etc.) to participate in shortcuts also, when the keys generate national symbols on non-Latin layout. For example, in Russian layout, "`" key generates cyrillic "ё" letter of national alphabet, so shortcuts with the key should still work regardless of the actual layout. Fixes: QTBUG-90611 Change-Id: Id9a505210ff33a94b82511b88c30ef79f3d03913 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Add the SIMULATE_IN_SOURCE argument to _qt_internal_test_expect_passAlexey Edelev2021-04-071-21/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | test_QFINDTESTDATA builds the project in the source tree, this is necessary because the test requires relative paths to the source file names. This function could be useful for other tests, so it makes sense to extend the _qt_internal_test_expect_pass/fail macros to support build in the source tree. Note that, the SIMULATE_IN_SOURCE argument doesn't build the test in the existing source tree, but copies source files to the build tree first to do not litter the source directory. Change-Id: I16e790d74be2a0c5ca0593e0f88580dbe09882b9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Allow qrandom_p.h to be included by more than one .cpp in QtCoreThiago Macieira2021-04-072-3/+5
| | | | | | | | | | | | | | | | | | | | I thought we could use C++17 inline variables, but those can't be used across DLL boundaries: qrandom_p.h:75:48: error: definition of 'QBasicAtomicInteger<unsigned int> qt_randomdevice_control' is marked 'dllimport' Change-Id: Id2983978ad544ff79911fffd1671f857587ef2fb Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Merge integration refs/builds/qtci/dev/1617802255Qt CI Bot2021-04-074-6/+37
|\ \
| * | Do not notify about property changes if the value hasn't changedSona Kurazyan2021-04-073-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 2ffb91ac592d69adf9458ac45074174537435918 we manually call notify() for QObjectCompatProperties. Currently we always call it when setting values to compat properties, even if the value hasn't actually changed. Fixed to call notify() only if the value is being changed. Task-number: QTBUG-85520 Change-Id: I385db84c4009c45406e204b96e0e37ce5fa8882b Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * | Avoid attempting to parse insanely long texts as zone namesEdward Welbourne2021-04-071-0/+18
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | There are limits on zone name length and the trial-and-error approach we're more or less forced to take to parsing gets horribly expensive if applied to every prefix of a very long string. So apply a loosened version of the zone-name validity rule that limits the length of the fragments between slashes and limit the number of such fragments. Fixes: QTBUG-92275 Pick-to: 6.1 6.0 5.15 Change-Id: I83052b1b6888728c81135db22a9c6298ae439375 Reviewed-by: Robert Löhning <robert.loehning@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge integration refs/builds/qtci/dev/1617798649Qt CI Bot2021-04-079-9/+55
|\ \ | |/ |/|
| * Add QRhiTexture::RG16 formatLars Knoll2021-04-076-0/+29
| | | | | | | | | | | | | | Those are needed to handle 16bit YUV formats in Qt Multimedia. Change-Id: I39c67bf4fcf558487b7819ea38e578f99c12a3ed Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * indicator-application hack: fallback to dbus service checkIlya Fedin2021-04-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a hack to work with Canonical's indicator-application tray applet. Since it implements the SNI spec partially and doesn't work with IconPixmap, the icon is broken without the hack. Unfortunately, this tray implementation is still in active use by Ubuntu; it's shipped and enabled by default on at least: * Xubuntu * Ubuntu MATE * Ubuntu Budgie (and maybe even others) Unfortunately, the check doesn't work in confined environments providing broken tray icons for snapped & flatpak'ed apps. Fortunately, snap allows checking all registered services on the host. It also fixes the check on flatpak if permissions to talk with these names are given. Pick-to: 6.1 6.0 Change-Id: Iee5d0bb610c3ff397babee89ef1ee788ac19f477 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QSemaphore: fix missed wakes with futex on WindowsMårten Nordheim2021-04-071-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do this by making the 'futexNeedsWakeAllBit' to be part of both the expectedValue and the pointer we're waiting on. This makes sense since having the 'futexNeedsWakeAllBit' set is a requirement for starting a sleep. Thus we should condition sleeping on whether or not another thread unset it. Since the futexNeedsWakeAllBit is in the "topmost" bit of the pointer we wait on we'll need to use the full 64-bits on 64-bit platforms. This isn't enabled (nor was it an issue) for configurations with 'futexHasWaiterCount' since that works differently, and waits for the high 32 bits. Fixes: QTBUG-92148 Change-Id: I424c605f0120ea5e647c5bb19b00ff35eaf1608a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix get out of bounds index in QSortFilterProxyModel::filterAcceptsRowChunLin Wang2021-04-071-3/+5
| | | | | | | | | | | | | | | | | | Before calling the index function, we need to check the validity of the parameters. Fixes: QTBUG-91878 Pick-to: 5.15 6.0 6.1 Change-Id: I9ec7265fff3f81b8a288c4ba8fae606a2ec808a6 Reviewed-by: David Faure <david.faure@kdab.com>
* | androiddeployqt: Fix the fallback location of rccJoerg Bornemann2021-04-071-1/+11
| | | | | | | | | | | | | | | | | | | | Now, that rcc lives in libexec, we need to assume the location of rcc to be "bin" on Windows and "libexec" elsewhere. Pick-to: 6.1 Fixes: QTBUG-92245 Change-Id: Idb81a5d02bae9ca3254e7590140a128500572b07 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: Choose better defaults for qt_add_plugin STATIC/SHAREDAlexandru Croitor2021-04-072-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a recent behavior change where the public CMake API qt_add_plugin API took into account the value of BUILD_SHARED_LIBS to decide whether the plugin should be a static or shared library. Instead, use the following new behavior - If no explicit option STATIC / SHARED option is passed, default to whatever flavor Qt was built as. Aka if Qt was configured with -shared, qt_add_plugin defaults to creating shared plugins. If it's a -static Qt, create static plugins. - If an explicit STATIC / SHARED option is set, override the default computed value with the given value. As a result BUILD_SHARED_LIBS does not affect Qt plugins anymore. This is more in line with Qt expectations. Add SHARED as a new valid option to pass to qt_add_plugin (it wasn't before). Add tests to check for the above behavior. Amends aa4a1006cbccbc180c600f9b4dc9e882bb5ed5ca Pick-to: 6.1 Fixes: QTBUG-92361 Task-number: QTBUG-88763 Change-Id: Iae806024ddd5cf10cfe58ddbcebd2818084b0bd7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>