summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Initial import of the Qt C++ property binding systemSimon Hausmann2020-03-1612-4/+2365
| | | | | | | | | | This implements the core value based property binding system with automatic dependency tracking. More features are to be added later, and the documentation will need further improvements as well. Change-Id: I77ec9163ba4dace6c4451f5933962ebe1b3b4b14 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* cmake: Regenerate projectsAlexandru Croitor2020-03-167-24/+30
| | | | | Change-Id: I0cd4f34b0df0227789805f30f474ff6aa275078f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* cmake: Remove APPLE prefix from platform namesTor Arne Vestbø2020-03-1677-188/+188
| | | | | | | None of the other platforms have it. Change-Id: Ib448c2c03ba03f711b507ef391977c0e6aa7c192 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Fix naming when referring to Apple macOSTor Arne Vestbø2020-03-1650-102/+102
| | | | | Change-Id: Iafb5e448d0d65d42f788464fc600594a5666f9af Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix Windows VM Test RunsLeander Beernaert2020-03-161-26/+8
| | | | | | | | | | | | | | | | | | | | Simplify the handling of simd specific sources. The previous implementation was causing simd instructions to bleed into the main library. The tests were failing because the avx instruction were leaking into Qt6Gui due to the previous problem. This in turn caused any test which required Qt6Gui code run to crash since it is not possible to run avx instruction in the VMs. This patch also disables PCH for the simd sources as they result in warnings related related to using PCH header not compiled for the architecture in question. The latter can cause the build to fail in conjunction with warnings as errors. Change-Id: I1be98f2f5e967f33793d6a2e6134a24ef1709566 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* Introduce always constexpr variants of qCountTrailingZeroBitsFabian Kosmale2020-03-161-19/+46
| | | | | | | | | | | qt_builtin_ctz is unfortunately not constexpr on MSVC, so the whole function cannot be used in constexpr contexts, unless v is exactly 0. As we don't have std::is_costant_evaluated until C++20, we need to introduce a new helper function, which always works in constexpr contexts. Change-Id: I36290acb61e430d6bdb3da112a9b2263be4b9fbf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QRegExp usage in the cocoa pluginLars Knoll2020-03-152-4/+9
| | | | | Change-Id: I9789e1637a17809082458e946fa7c49ab9269537 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix QNetworkAccessCache after QHash stability semantics changeLars Knoll2020-03-152-43/+42
| | | | | | | | The data structure relies on stable nodes in QHash, something that is not guaranteed in Qt 6 anymore. Change-Id: I9077ed404ee922893099f5eaae76d2dcea414090 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use qsizetype for size related methods in QVarlengthArrayLars Knoll2020-03-149-183/+181
| | | | | Change-Id: Ib94b9a4e6e17da21f592e71a36fd1b97d42dfe62 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Use qsizetype for size related methods in QMapLars Knoll2020-03-142-47/+47
| | | | | | | This allows QMap to hold more than 2^31 entries on 64 bit systeems. Change-Id: Ia6abd3441f9bc0c7e1a01b78726b5c32209542fa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Extend QContiguousCache to use qsizetype for size and indicesLars Knoll2020-03-143-51/+51
| | | | | | | Allow for more than 2^31 items and large offsets. Change-Id: I42f7bf20ce0e4af43dbb2e2083abf0e232e68282 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add move semantics to QContiguousCacheLars Knoll2020-03-141-34/+60
| | | | | | | | | | Provide move semantics for QContiguousCache. Do further cleanup of the code and avoid special casing for complex typeinfo where it won't make a difference anyway. Change-Id: I9bd261aec21be7a050e04f5b3a1f0b8e1d94c064 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Cleanup code in QContiguousCacheLars Knoll2020-03-141-94/+74
| | | | | | | | | Remove the union being used to hold the d-pointer, as accessing both members of the union on the same data is technically undefined behavior. Change-Id: Ia5a063d97538222575a47e9462c0675acdf32aef Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: Pass --verbose flag to ninjaAlexandru Croitor2020-03-135-7/+7
| | | | | | | | | To allow seeing the exact compiler flags when build in Coin. We do the same for qmake builds. Change-Id: I8c43f35b95d722d914aaeaa8860720a3a0578737 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Don't make a private module depend 1kk times on the public oneAlexandru Croitor2020-03-131-1/+2
| | | | | | | | | The exported INTERFACE_LINK_LIBRARIES property now looks a lot more sane. Change-Id: I093fcb242607023dd0b103298562b299cb803028 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QRegularExpression: inline some compatibility callsGiuseppe D'Angelo2020-03-132-13/+13
| | | | | | | | | The functions take QStringView now. The ones taking QString can be implemented inline (BC break). Drive-by change, use qToStringViewIgnoringNull. Change-Id: Ia3089c574446418e5ab93e08e21869ef19fbfbfd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove an outdated commentGiuseppe D'Angelo2020-03-131-8/+0
| | | | | | | | QRandomGenerator is now used to seed QHash, so the comment is wrong. Change-Id: Ic50fe95ea4169b55290cc758f5aebfbb0a3ea085 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* cmake: Add default Info.plist for macOS with some important keysTor Arne Vestbø2020-03-134-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | The default Info.plist shipped with CMake lacks an NSPrincipalClass entry, which is crucial for making macOS apps run in full resolution on retina screens. We make sure the file is only picked up on macOS, not iOS and friends, since those platforms require another principal class. If needed we can extract the value out as a CMake variable and use the same file for all Apple platforms. Doing so would assume all keys are single-platform only, so if that's not the case we need platform-specific files. We should probably extract the package type out as a variable too, so that the file can be used for both apps, plugins, and frameworks, but doing so requires setting up that variable somewhere based on the target type, which CMake doesn't allow in an easy way. The file itself is based on the file CMake ships, combined with keys inherited from Qt's existing plist templates for qmake, and adjusted to match what Xcode generates by default these days. Change-Id: I3f5109e5fff63cdbd109a99d4008948d4bd2102b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* High-DPI: Enable AA_UseHighDpiPixmaps by defaultMorten Johan Sørvig2020-03-131-1/+2
| | | | | | | | | | | | | | The effect of this is that QIcon::pixmap() will/may return a pixmap larger than the requested size (with an appropriate devicePixelRatio set), suitable for high-dpi displays. Many use cases, such as painting the image with QPainter, will be unaffected by this change. User code which e.g. iterate over image pixels may have to be updated. Change-Id: I63e867cc1e3f2a0b5cad92e1ffab4fe4de33ae19 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* cmake: Disable GL deprecations on Apple platformsTor Arne Vestbø2020-03-121-0/+6
| | | | | Change-Id: I87b98ae68d996868cefaaf578722ac24be745145 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake handle ${QT_SOURCE_TREE} for include statementsLeander Beernaert2020-03-121-0/+7
| | | | | | | | | | Replace ${QT_SOURCE_TREE} with top level project directory when encountered in include statements. This is required to parse tests/auto/testlib/selftests/test/test.pro. Change-Id: I80f31142cf5a35441d1424c38e21bb097e44cd0f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Reformat the python scripts using blackAlexandru Croitor2020-03-123-29/+48
| | | | | | Change-Id: I1e2eba46eb7c9dfefd267be91790be7898634c3a Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix incorrect argument in QtBuildInternalsAndroidAlexandru Croitor2020-03-121-2/+2
| | | | | | | | Uncovered while building qtdeclarative. Change-Id: If1a36f2640a3a5d765e7ca74b0ba1d39ef2a18f0 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Install the QtBuildInternalsAndroid.cmake filleAlexandru Croitor2020-03-121-1/+5
| | | | | | | | | | It's needed when building qtdeclarative. Needs to be copy_or_install to support non-prefix builds as well. Change-Id: Ied59f6a1f8403be3721a0ad46f5a3b2f569028ca Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate tests projectsAlexandru Croitor2020-03-1227-18/+194
| | | | | | Change-Id: I559bf2c82d83fac9bd3c52a331d99e1e83bc3f87 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Don't build tests and examples by default on Android and iOSAlexandru Croitor2020-03-121-2/+2
| | | | | | Change-Id: Ia31733e2cadfb52d11426c40f3543bedc48342c4 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Propagate minimum required C++ standard to consumers of QtAlexandru Croitor2020-03-122-0/+11
| | | | | | | | | Aka the version of C++ that needs to be supported when compiling applications that use Qt headers (C++17 at the moment). Change-Id: I64dec297e8329f31b1d9864f216a95782049ed06 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake: Handle LIBS_SUFFIX define correctlyAlexandru Croitor2020-03-123-2/+14
| | | | | | | | | Matches the LIBS_SUFFIX define we use in Android conditions and replaces it with a sane amount of escaped characters. Change-Id: I7d870f992c70b105dd80b6fa94f87d3fa5644006 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* rcc: Teach rcc the --no-zstd optionAlexandru Croitor2020-03-124-7/+33
| | | | | | | | | | | | It is needed when cross-building Qt using CMake, where the zstd feature might have different values between the host and target, in which case the build system tells rcc not to use zstd when the feature is disabled. Amends d20c9805763ab3dc504ebf2cefd33499d89ef22c Change-Id: I9dc55b59b1be5272b79aa5f1e2daf2b516a157d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix spelling mistakesTor Arne Vestbø2020-03-111-1/+1
| | | | | Change-Id: I389727ce9b8d3ef2a54156b682ef5aeccb39ebd2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-03-11131-1213/+6180
|\
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-11131-1213/+6180
| |\ | | | | | | | | | Change-Id: Ibee5acec72a1a1769d4bc5f23f56c7dc8d4cf3cb
| | * Doc: Fix documentation for class qfloat16Topi Reinio2020-03-102-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class has documented member functions, but only the related \headerfile was documented. The class documentation itself was omitted with the \dontdocument command. Replace the \headerfile with a \class command, and move the global functions to be related to the class itself. Keep the title as a \keyword to avoid breaking any external links. The new class page will inherit the .html file name of the header page, so we're safe in that regard as well. Fixes: QTBUG-82800 Change-Id: Id51539b45e0642d91b304a37f95461ca3d6c9841 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * QVulkanWindow: Fix setQueueCreateInfoModifier signatureLaszlo Agocs2020-03-102-2/+2
| | | | | | | | | | | | | | | | | | | | | ...per API review. Change-Id: I4a5a1cc895eac32f21f8a830507b841318509992 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Mimetypes: Build fix for Android builds on WindowsCristian Adam2020-03-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to Android's multi-abi the build will fail due to concurrent access: cmd /c C:\Projects\Qt\repo\qtbase\src\corelib\mimetypes\mime\generate.bat C:\Projects\Qt\repo\qtbase\src\corelib\mimetypes\mime\packages\freedesktop.org.xml > .rcc\qmimeprovider_database.cpp The process cannot access the file because it is being used by another process. Change-Id: I647e0a6d8aa03cf116b08a1dce6e61e8882661f4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * rhi: d3d11: Honor resource/sampler slot limitsLaszlo Agocs2020-03-101-66/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show a warning but allow applications to survive by not attempting to call VS/PS/CSSetWhatever() with an invalid number of resources. Relevant for samplers in particular, where the limit is 16. Qt Quick 3D exhibits problems with this when using custom materials combined with shadow mapping, and while this is not a solution to the problem there, at least the problem is now clearly indicated instead of crashing. Task-number: QTBUG-82719 Change-Id: I83914b7648001fa421ed1cf07a7b7444e0ef8fc0 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| | * QDataStream: keep brace delimiters inside #if-scopesMårten Nordheim2020-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | Because it looks odd. Change-Id: Ic272ae7b1b5a3e0a70884caa683ccbdd3a61ff6a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Schannel: Fix readBufferMaxSize impl with incomplete data optimizationMårten Nordheim2020-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the incomplete data guesstimation optimization the tst_QSslSocket::readBufferMaxSize test would fail due to it waiting for 16K, but the readBufferMaxSize was 10 bytes. Amends 559b563d711db0760a51b0dce26536dbc8766a9d Change-Id: I5d17fac24e73c1305161aff744710b4c5b0b457a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Bearer management deprecation cleanupMårten Nordheim2020-03-103-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QNAM: Deprecate the to-be-unused enum and mark the property deprecated in docs For bearermanagement: Add a warning on the bearermanagement documentation page that it is deprecated. Change-Id: I2cbe12ddec444d9f704601f07f3a7c9b70dc4f3c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Polish the Mandelbrot ExampleFriedemann Kleint2020-03-103-33/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings about float constants and comparison. Use member or constructor initialization. Introduce some const for clarity. Use Qt_CONFIG. Task-number: QTBUG-81254 Change-Id: I71a6ebfba397c0f8e1dd2e61167233c8e5c137af Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Doc: Mention .qrc compression attributes in resource compiler docsTopi Reinio2020-03-101-4/+15
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-76321 Change-Id: Idf7b4157b46d98392314ccddf6b714f9e620b5f8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * Multithread some QImage routinesAllan Sandfeld Jensen2020-03-096-519/+996
| | | | | | | | | | | | | | | | | | | | | | | | Use QThreadPool to process QImage smooth-scaling, format conversions, and colorspace transforms multithreaded. Change-Id: Ic142b1fa899f56e7e5099d36ca713701a47b681b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * macOS: Support printing when no printers are installedTor Arne Vestbø2020-03-091-35/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if there are no printers installed, we can still show the print dialog, which gives the user feedback about no printers being installed, allows them to install one, or allows them to print to PDF as a fallback. The code for printing to PDF has been re-enabled, and the conditions of QTBUG-38820 have been removed as the problem is no longer present. The code also takes into account the possibility that the user chose to print to PostScript, which we don't yet support, but warn about. We now also support opening the printed document in Preview. This requires a minor assumption about the print operation being done synchronously after the print dialog is accepted, but this is something we can improve in the future with internal APIs if it turns out to be a problem. Printing workflows such as sending the printed document via mail or messenger are not not supported, and will give a warning. Fixes: QTBUG-36112 Change-Id: I8ba9e2c5ce31a5a06542c4a7126d005e4b27f2be Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Document how to use CMake for Qt NetworkKai Koehne2020-03-096-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add documentation on how to use a module from CMake, alongside the existing documentation about qmake. While at it, also remove the mentioning of the central include; It is not something we should actively advocate anymore. Instead, the documentation of every class gives the correct include to use. Task-number: QTBUG-73058 Change-Id: I71ed5a62f4f0a6d868dd1f84ea39e5ac385a2fb8 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * WinRT: Use the fallbacks for getting the save file nameAndy Shaw2020-03-091-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To bring it in line with the other platforms, then it needs to check if the initially selected files are set and use the first one. Otherwise it can fall back to the initial directory if that happens to include a filename. Change-Id: If34ae0e7e10b6a3c25e9422d9b4f2c21e6bfc8d1 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * qmake: Document qmltypes and metatypesUlf Hermann2020-03-091-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-81615 Fixes: QTBUG-82305 Change-Id: I0a411ff2ebc2dbf5462fa110b1eb70a1876b6ae5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * QDataStream: fix compilation with QT_DISABLE_DEPRECATED_BEFORE=0x0050F00David Faure2020-03-081-4/+8
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-81023 Change-Id: I0d56785d1fed2c4c8e0e87ccefb0b72b0ed3644a Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * QtSql/ODBC: allow table names with unicode charsChristian Ehrlicher2020-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The ODBC driver did not properly decode table names with unicode chars. Fix it by explicitly passing the unicode flag to qGetStringData(). Fixes: QTBUG-82401 Change-Id: Id6eb44cc85ce196ea97d0d6aef1cd573fa033970 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Add default arguments to QPainterPath methods using transformJarek Kobus2020-03-0638-15/+52
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-82602 Change-Id: Id82f145ffb33e6d4ef9b81282ad14657b1c8fbd0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * rhi: vulkan: Silence useless desc.set validation warningsLaszlo Agocs2020-03-061-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is deemed more appropriate than having some time consuming tracking of descriptor types in pools, just to avoid the rare case of attempting a failing vkAllocateDescriptorSets(), which is then always followed by another, successful attempt. Change-Id: I7a3a1d80afe400dc96605a3d6c834e8b2c71143a Reviewed-by: Christian Strømme <christian.stromme@qt.io>