summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* Add --skip-install-root option to androidtestrunnerLeander Beernaert2019-10-241-4/+15
| | | | | | | | | Add the above option to android test runner since its not required when building with Cmake. Change-Id: Ie5c9b0af29cfa76802723960071b3bd2a37a56a5 Reviewed-by: Qt CMake Build Bot Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Add Android test runner toolLeander Beernaert2019-10-232-0/+29
| | | | | Change-Id: I235bc07be0e0f7a3b0ce6297c187950a57fb31ed Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Re-generate affected cmake files and configure.json after the mergeSimon Hausmann2019-10-172-0/+2
| | | | | | | | | This also removes the workarounds of commit b2662b05dd078c46b82f5f041f51b0b83554113d now that it's fixed "upstream" in the .pro files. Change-Id: Idd5e6273873a700fcda5a6cad2039c4e88b61f6f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeSimon Hausmann2019-10-171-0/+1
|\ | | | | | | Change-Id: Ia1da879a7bd8f71a649661a1844144dd67d60b3a
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-171-0/+1
| |\ | | | | | | | | | Change-Id: Ica69de99be9c8af4d28a52e4b69e6af748ed983c
| | * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-161-0/+1
| | |\ | | | | | | | | | | | | Change-Id: Ifd83db69416230175ddc3161f640b612755018fc
| | | * Win32: Consolidate registry codeFriedemann Kleint2019-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a RAII class for registry keys and use it throughout the code base. Change-Id: I666b2fbb790f83436443101d6bc1e3c0525e78df Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | | Regenerate files after dev -> wip/cmake mergeAlexandru Croitor2019-10-146-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note the following bigger things that had to be done: Handle GSS library / feature with a new custom find module. Implement rudimentary support for relocatability (does not currently handle extprefix). Change-Id: Ic6cd27dda7ebca9829f51cb42ea76fff6d1767ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-10-149-121/+503
|\| | | | | | | | | | | | | | | Change-Id: I4a78428a8ea273b6960792e3b8043f816fa37fcf
| * | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-141-0/+1
| |\| | | | | | | | | | | | | | Change-Id: I129dd579f92cb2592a38ca043472b45cb926ae12
| | * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-131-0/+1
| | |\| | | | | | | | | | | | | Change-Id: I9953c1ca16862184c2373027e946c482ce8e6f0e
| | | * Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-10-101-0/+1
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbscreen.h src/src.pro Change-Id: I4e1981e69a1ddcbe4078ec6ab2a64b0da6a445de
| | | | * Fix compile with tracing enabled: include QStringList headerMilian Wolff2019-10-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I40f737338d10a871442bb453fe1eeede9dacec79 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | | Add support for slots to receive the raw void ** arguments arrayLars Knoll2019-10-073-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is currently being used by dbus und our state machine framework, and supported by hand editing moc generated code. Get rid of that hack, and instead add support to moc to forward the raw arguments array to the slot. Change-Id: I0e36626f91eb01041464e6d931dc1d4660de91d2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-067-6/+400
| |\| | | | | | | | | | | | | | | | | | Change-Id: Ife31dad3c8dc43c5ff4d266e6d646230c5d20a50
| | * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-051-0/+1
| | |\| | | | | | | | | | | | | | | | | Change-Id: I554a2762890391b3b6013c8b82211a8386a4ced8
| | | * | Include likely-adjusted uiLanguages for the system localeEdward Welbourne2019-10-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QLocale::uiLanguages() on the system locale uses whatever the system locale's query(QSystemLocale::UILanguages,...) returns. On Android, this is just a list of locales. However, for non-system locales, we also include some results of removing likely sub-tags from the locale name, where equivalent. Thus zh-CN would also get zh and zh-Hans-CN added to it; however, if the system locale is zh-Hans-CN, the shorter forms are omitted. So post-process the system locale list in the same way, albeit tweaked to avoid duplicates and rearranged so that we can insert likely-adjusted entries between what they adjust and what followed it. Added QLocalePrivate::rawName() in the process, since it looks likely to be useful in other contexts (and I needed its value): it just joins such tags as are non-Any. This, however, uses QByteArrayList, so added that (it's small) to the bootstrap library and qmake. This follows up on commit 8796e3016fae1672e727e2fa4e48f671a0c667ba. [ChangeLog][QtCore][QLocale] The system locale's UI languages list now includes, as for that of an ordinary locale, the results of adding likely sub-tags from each locale name, and of removing some, where this doesn't change which locale is specified. This gives searches for translation files a better chance of finding a suitable file. Fixes: QTBUG-75413 Change-Id: Iaafd79aac6a0fdd5f44aed16e445e84a2267c9da Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Add support for machine-readable JSON output to the MOCSimon Hausmann2019-10-046-6/+399
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The --output-json parameter will make moc produce a .json file next to the regular output file. With --collect-json the .json files for a module can be merged into a single one. Task-number: QTBUG-68796 Change-Id: I0e8fb802d47bd22da219701a8df947973d4bd7b5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.15' into devLiang Qi2019-10-041-106/+82
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/qnetworkaccessmanager.cpp src/network/access/qnetworkreplyhttpimpl.cpp Change-Id: I059be651604623616fd31e8616be8ae61b4f8883
| | * | Android: Do not extract QML assets dataBogDan Vatra2019-10-021-97/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead to extract the assets QML file, we create a .rcc bundle file which is register by android qpa plugin before the it invokes the main function. Thsi way we avoid extracting the QML files from assets as they can be accessed directly from resources. [ChangeLog][Android] Instead of bundling QML resources in assets and extracting them on first start, Qt now creates an .rcc file and register it before invoking the main function. Change-Id: Icb2fda79d82c5af102cc9a0276ff26bb0d1599e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Android: Fix plugins namingBogDan Vatra2019-10-011-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 5 doesn't extract the files from libs folder unless they are prefixed with "lib". This patch sets a proper name for the plugin which will make gdb happy and it will also avoid any name clashes. If we rename the plugins when we copy them, gdb won't find them, therefore it can't load their symbols. On Android all the libs are in a single folder, so to make sure we don't have any name clashes, we are prefixing the plugin name with it's relative path to qt folder (we replace / with _). Fixes: QTBUG-78616 Change-Id: I7e0e67d65448532769d69f46b1856c029e2cf5cb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | | Merge remote-tracking branch 'origin/wip/qt6' into devSimon Hausmann2019-09-183-11/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpicture.cpp Change-Id: Iecf79f96f54dc23bd703e6c4c634f909b796d7b3
| * \ \ \ Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-09-061-1/+3
| |\ \ \ \ | | | |/ / | | |/| | | | | | | Change-Id: Ib6649a412e131bf679aab97c4c384520af348b4f
| | * | | Android: Fix architecture extraction from file path in androiddeployqtAlexandru Croitor2019-09-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regular expression was too greedy with the ".*" sub-expression, thus if the prefix path contained underscores, the extracted architecture value was wrong. Example prefix: ~/dev/qt/qt514_built_android/qtbase Example captured architecture: built_android/qtbase/plugins/platforms/android/libqtforandroid_x86 First extract the file name from the given path, and then match on just the file name. Change-Id: I8e56e56747096c7a2398e959d91c2d1f65de2495 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | | | | Regenerate qtbase after wip/qt6 -> wip/cmake mergeAlexandru Croitor2019-10-142-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that android builds will be broken after this merge and regeneration, because we don't currently handle the minimum required changes that were brought in with the Android multi ABI support that comes from 5.14. This will have to be addressed in a separate change. For now the build on Android will fail while compiling due to incorrect generation of LIB_SUFFIX with QT_ARCH. Change-Id: Ia4a871f4b7ddd0da11caf5f34e10a599a97bb55d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | | | | Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-10-115-587/+576
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | Change-Id: I3a1d7673c3c20019ab12a2ea0a60f1619920a34c
| * | | | Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-09-044-584/+576
| |\| | | | | | | | | | | | | | | | | | Change-Id: I54741635460bb2d8f3fd0be535ee1968d6c442bb
| | * | | Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-09-031-42/+71
| | |\| | | | | | | | | | | | | | | | | Change-Id: I10ca9b20c26838800c654103951367a36af3ee30
| | | * | Add support for aabBogDan Vatra2019-09-021-42/+71
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I4814a51b25d5e3953e5e1c71d9a0e1bf3fed7385 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | | Add support to override Qml Import Scanner binary to androiddeployqtLeander Beernaert2019-08-301-2/+23
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is required to properly support the CMake port of Qt. With CMake we have to build the host tools separately. When androiddeployqt attempts locate the qmlimportscanner binary it is unable to do so, since its not build. This patch adds the --qml-importscanner-binary option to androiddeployqt and it also allows the optio to be set via the qml-importscanner-binary setting in the deployment configuration file. Change-Id: I5393340bc1bc3e8fedae69f8bc3eb5adfe7dbfd7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Use QLatin1String where possibleBogDan Vatra2019-08-281-115/+114
| | | | | | | | | | | | | | | | | | | | Change-Id: I8f94ba4880bcac735e4445d71f0e22774d9f78eb Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | Merge remote-tracking branch 'origin/dev' into 5.14Liang Qi2019-08-272-496/+430
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qwidget.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetrepaintmanager.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ifae457d0427be8e2465e474b055722e11b3b1e5c
| | | * | Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-494/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | * | Don't excessively check all output files for failuresJan Arve Sæther2019-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is really just an optimization, but I suspect the author of the code assumed that the bitwise &= operator short-cicuits. (It doesn't). So this patch should then fix the code to have the intended behavior. We don't have to check for failures in the remaining output files once we've found one. pullFiles() returns just a bool indicating if one of the output files has a recorded fail, so checking the remaining output files after the first found failure is just a waste (and ideally they should contain the same failure (however, flaky tests might break this ideal)). Drive-by fix. Change-Id: I951e500a69198e7ed124be32199ac81bbddb9bf7 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | | * | Fix escaping of additional app parameters in adb shell commandDaniel Smith2019-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I80e5b98efbc9654c684b3d78ba0d6688c21bd0f3 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * | | Add support for calendars beside GregorianSoroush Rabiei2019-08-201-0/+3
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QCalendarBackend as a base class for calendar implementations and QCalendar as a facade via which to access it. QDate's implicit implementation of the Gregorian calendar becomes QGregorianCalendar and QDate methods now support choice of calendar. Convert QLocale's CLDR data for month names to a locale-data component of each supported calendar and relevant QLocale methods now support choice of calendar. Adapt Python scripts for locale data generation to extract month name data from CLDR (keeping on version v35.1) into the new calendar-locale files. The locale data for the Gregorian calendar is held in a Roman calendar base, for sharing with other calendars. Add tests for basic uses of the new API. [ChangeLog][QtCore][QCalendar] Added QCalendar to support diverse calendars, supported by implementing QCalendarBackend. [ChangeLog][QtCore][QDate] Allow choice of calendar in various operations, with Gregorian remaining the default. Done-with: Lars Knoll <lars.knoll@qt.io> Done-with: Edward Welbourne <edward.welbourne@qt.io> Fixes: QTBUG-17110 Fixes: QTBUG-950 Change-Id: I9d6278f394269a183aee8156e990cec4d5198ab8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-08-131-2/+8
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/win32-clang-msvc/qmake.conf src/corelib/tools/qlist.h src/gui/painting/qcompositionfunctions.cpp src/gui/painting/qtriangulator_p.h src/gui/text/qfontengine_p.h src/network/kernel/qhostinfo_p.h src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io> Change-Id: Ib8a0308cf77224c4fbdcf56778fdac4a43e37798
| | | * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-051-2/+8
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/unix/unixmake2.cpp src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: Iba7aa7324f35543e0297a3680956420058cd3630
| | | | * qlalr: fix compilation with C++20Marc Mutz2019-08-011-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::not1 is deprecated in C++17, removed in C++20. Use its replacement, std::not_fn. Change-Id: I37d4929c81c2a5befeb44f954ae77b23960d2ff0 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| * | | | Kill all QPictureIOAllan Sandfeld Jensen2019-08-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Has been deprecated for a long time. Change-Id: I4579e3c2997c649f0fa66b9cdbcf8e7fc6d661a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | | Regenerate tools projectsAlexandru Croitor2019-10-0814-24/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I69a56ca2bd1d5f983197c6cde400c191c5dc7bd9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | | | | Clean up tinycbor handlingSimon Hausmann2019-10-084-7/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that pro2cmake handles the include path resolution more like qmake, the tinycbor wrapper target is not needed anymore. Re-generated some CMakeLists.txt to complete that step. Change-Id: I032b2e9bdf9e26f63f3c550d7bca5df93369a82a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CMake Build Bot
* | | | | Regenerate qmake and bootstrap projectsAlexandru Croitor2019-10-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I6649a58752309a346bc03271f17fe80d0b727be3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | | | | Merge branch 'wip/qt6' into wip/cmakeAlexandru Croitor2019-08-155-67/+64
|\| | | | | | | | | | | | | | | | | | | Change-Id: I50ac36b8803c296998149e98cc61e38687cdd14b
| * | | | Merge remote-tracking branch 'origin/dev' into wip/qt6Lars Knoll2019-08-063-21/+24
| |\| | | | | | | | | | | | | | | | | | Change-Id: Ib719a6249069e6bd6c9311bbec7f364855ab82ff
| | * | | uic: Avoid use of Q_UNUSED in the generated codehjk2019-07-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, use (void)x; directly. The current use of Q_UNUSED(x); generates warnings for an empty statement the expansion of Q_UNUSED contains a semicolon already. Emitting Q_UNUSED(x) without the extra semicolon would be an option, too, but as the future of Q_UNUSED's embedded semicolon seems unclear right now, avoid its use altogether. The change affects only generated code that's barely ever read by a human, so the overall utility of "improved readability" of Q_UNUSED in that place is questionable anyway. Change-Id: I332527ed7c202f779bd82290517837e3ecf09a08 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
| | * | | Fix SOURCES duplication in tools/bootstrap on macOSTasuku Suzuki2019-07-191-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three *_unix.cpp are added twice for unix and for mac Makefile:14766: warning: overriding commands for target `.obj/ qfilesystemengine_unix.o' Makefile:14037: warning: ignoring old commands for target `.obj/ qfilesystemengine_unix.o' Makefile:14913: warning: overriding commands for target `.obj/ qfilesystemiterator_unix.o' Makefile:14184: warning: ignoring old commands for target `.obj/ qfilesystemiterator_unix.o' Makefile:15071: warning: overriding commands for target `.obj/ qfsfileengine_unix.o' Makefile:14342: warning: ignoring old commands for target `.obj/ qfsfileengine_unix.o' Change-Id: Ia5f9d2873f738081c2d1e763efbdfc64209aaf7d Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * | | Qt6: Fix uninitialized meta objects on WindowsThiago Macieira2019-07-161-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows has a problem relating to cross-DLL variable relocations: they are not supported. Since QMetaObject's link to the parent class is done via a pointer, every QMetaObject in a DLL or in the EXE that derives from a class from another DLL (such as QObject) will be dynamically initialized. This commit changes the meta object pointers in QMetaObject::d from raw pointers to a wrapper class SuperData, which is almost entirely source- compatible with the pointer itself. On all systems except for Windows with Qt 6, it's binary compatible with the current implementation. But for Windows with Qt 6, this commit will store both the raw pointer and a pointer to a function that returns the QMetaObject, with one of them non-null only. For all meta objects constructed by moc, we store the function pointer, which allows the staticMetaObject to be statically intialized. For dynamic meta objects (QMetaObjectBuilder, QtDBus, QtQml, ActiveQt), we'll store the actual raw pointer. [ChangeLog][QtCore][QMetaObject] Some internal members of the QMetaObject class have changed types. Those members are not public API and thus should not cause source incompatibilities. The macro QT_NO_DATA_RELOCATION existed in Qt 4 but was called Q_NO_DATA_RELOCATION and only applied to Symbian. It was removed in commit 24a72c4efa929648d3afd95b3c269a95ecf46e57 ("qglobal: Remove symbian specific features"). Task-number: QTBUG-38876 Fixes: QTBUG-69963 Change-Id: Id92f4a61915b49ddaee6fffd14ae1cf615525e92 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Move text-related code out of corelib/tools/ to corelib/text/Edward Welbourne2019-07-101-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes byte array, string, char, unicode, locale, collation and regular expressions. Change-Id: I8b125fa52c8c513eb57a0f1298b91910e5a0d786 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | | | Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-07-1134-590/+920
|\| | | | | | | | | | | | | | | | | | | Change-Id: I715b1d743d5f11560e7b3fbeb8fd64a5e5ddb277