diff --git a/dist/changes-4.12.1.md b/dist/changes-4.12.1.md index 8a80e1f0f71..c4dd7865464 100644 --- a/dist/changes-4.12.1.md +++ b/dist/changes-4.12.1.md @@ -14,6 +14,7 @@ General ------- * Fixed crash when changing font settings (QTCREATORBUG-14385) +* Fixed availability of `Link with Qt` information on startup (QTCREATORBUG-23900) Editing ------- @@ -39,6 +40,10 @@ Projects * Fixed issue with JOM (QTCREATORBUG-22645) +### Qbs + +* Fixed crash when updating project (QTCREATORBUG-23924) + ### Compilation Database * Fixed issues with symbolic links (QTCREATORBUG-23511) @@ -46,8 +51,13 @@ Projects Debugging --------- +* Fixed startup when Python's JSON module is missing (QTCREATORBUG-24004) * Fixed pretty printing of `std::unique_ptr` with custom deleter (QTCREATORBUG-23885) +### GDB + +* Fixed handling of register addresses with lowercase characters +* Fixed issue with GDB reporting zero array size in some cases (QTCREATORBUG-23998) Qt Quick Designer ----------------- @@ -67,10 +77,39 @@ Platforms * Fixed crash at startup when Qt is missing in Kit (QTCREATORBUG-23963) * Fixed `Always use this device for this project` (QTCREATORBUG-23918) +* Fixed issue with "side by side" NDK installation (QTCREATORBUG-23903) ### OpenBSD * Fixed Qt ABI detection (QTCREATORBUG-23818) +### MCU + +* Fixed various issues with Kit creation and cleanup + Credits for these changes go to: -------------------------------- +Alessandro Portale +André Pönitz +Assam Boudjelthia +Brook Cronin +Christian Kandeler +Christian Stenger +Cristian Adam +David Schulz +Eike Ziller +Friedemann Kleint +Henning Gruendl +Jeremy Ephron +Johanna Vanhatapio +Leander Schulten +Leena Miettinen +Nikolai Kosjar +Robert Löhning +Sebastian Verling +Sergey Belyashov +Thiago Macieira +Thomas Hartmann +Tim Jenssen +Venugopal Shivashankar +Vikas Pachdha diff --git a/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc b/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc index 5c8cba4870c..395327e1bce 100644 --- a/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc @@ -50,7 +50,7 @@ until it is explicitly assigned a new value. However, to make the fullest use of QML and its built-in support for dynamic object behaviors, most QML types use property bindings. This means that you can specify relationships - between different object properties so that when a property's sependencies + between different object properties so that when a property's dependencies change in value, the property's value is automatically updated accordingly. Behind the scenes, the QML engine monitors the property's dependencies (that diff --git a/doc/qtdesignstudio/examples/clustertutorial/ClusterTutorial.qmlproject b/doc/qtdesignstudio/examples/ClusterTutorial/ClusterTutorial.qmlproject similarity index 100% rename from doc/qtdesignstudio/examples/clustertutorial/ClusterTutorial.qmlproject rename to doc/qtdesignstudio/examples/ClusterTutorial/ClusterTutorial.qmlproject diff --git a/doc/qtdesignstudio/examples/coffeemachine/ApplicationFlow.qml b/doc/qtdesignstudio/examples/CoffeeMachine/ApplicationFlow.qml similarity index 100% rename from doc/qtdesignstudio/examples/coffeemachine/ApplicationFlow.qml rename to doc/qtdesignstudio/examples/CoffeeMachine/ApplicationFlow.qml diff --git a/doc/qtdesignstudio/examples/coffeemachine/CoffeeButton.qml b/doc/qtdesignstudio/examples/CoffeeMachine/CoffeeButton.qml similarity index 100% rename from doc/qtdesignstudio/examples/coffeemachine/CoffeeButton.qml rename to doc/qtdesignstudio/examples/CoffeeMachine/CoffeeButton.qml diff --git a/doc/qtdesignstudio/examples/coffeemachine/CoffeeMachine.qmlproject b/doc/qtdesignstudio/examples/CoffeeMachine/CoffeeMachine.qmlproject similarity index 100% rename from doc/qtdesignstudio/examples/coffeemachine/CoffeeMachine.qmlproject rename to doc/qtdesignstudio/examples/CoffeeMachine/CoffeeMachine.qmlproject diff --git a/doc/qtdesignstudio/examples/coffeemachine/SideBar.qml b/doc/qtdesignstudio/examples/CoffeeMachine/SideBar.qml similarity index 100% rename from doc/qtdesignstudio/examples/coffeemachine/SideBar.qml rename to doc/qtdesignstudio/examples/CoffeeMachine/SideBar.qml diff --git a/doc/qtdesignstudio/examples/ebikedesign/EBikeDesign.qmlproject b/doc/qtdesignstudio/examples/EBikeDesign/EBikeDesign.qmlproject similarity index 100% rename from doc/qtdesignstudio/examples/ebikedesign/EBikeDesign.qmlproject rename to doc/qtdesignstudio/examples/EBikeDesign/EBikeDesign.qmlproject diff --git a/doc/qtdesignstudio/examples/sidemenu/CustomButton.qml b/doc/qtdesignstudio/examples/SideMenu/CustomButton.qml similarity index 100% rename from doc/qtdesignstudio/examples/sidemenu/CustomButton.qml rename to doc/qtdesignstudio/examples/SideMenu/CustomButton.qml diff --git a/doc/qtdesignstudio/examples/sidemenu/SideMenu.qml b/doc/qtdesignstudio/examples/SideMenu/SideMenu.qml similarity index 100% rename from doc/qtdesignstudio/examples/sidemenu/SideMenu.qml rename to doc/qtdesignstudio/examples/SideMenu/SideMenu.qml diff --git a/doc/qtdesignstudio/examples/sidemenu/SideMenu.qmlproject b/doc/qtdesignstudio/examples/SideMenu/SideMenu.qmlproject similarity index 100% rename from doc/qtdesignstudio/examples/sidemenu/SideMenu.qmlproject rename to doc/qtdesignstudio/examples/SideMenu/SideMenu.qmlproject diff --git a/doc/qtdesignstudio/examples/webinardemo/WebinarDemo.qmlproject b/doc/qtdesignstudio/examples/WebinarDemo/WebinarDemo.qmlproject similarity index 100% rename from doc/qtdesignstudio/examples/webinardemo/WebinarDemo.qmlproject rename to doc/qtdesignstudio/examples/WebinarDemo/WebinarDemo.qmlproject diff --git a/doc/qtdesignstudio/examples/doc/progressbar.qdoc b/doc/qtdesignstudio/examples/doc/progressbar.qdoc index 208e97bf8df..0dfb333e41f 100644 --- a/doc/qtdesignstudio/examples/doc/progressbar.qdoc +++ b/doc/qtdesignstudio/examples/doc/progressbar.qdoc @@ -24,7 +24,7 @@ ****************************************************************************/ /*! - \example ProgressBar + \example progressbar \ingroup studioexamples \title Progress Bar diff --git a/scripts/build.py b/scripts/build.py index 8102224cd8b..e7e414f5087 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -87,6 +87,8 @@ def get_arguments(): action='store_true', default=False) parser.add_argument('--no-zip', help='Skip creation of 7zip files for install and developer package', action='store_true', default=False) + parser.add_argument('--add-make-arg', help='Passes the argument to the make tool.', + action='append', dest='make_args', default=[]) return parser.parse_args() def build_qtcreator(args, paths): @@ -137,7 +139,10 @@ def build_qtcreator(args, paths): '-DIDE_REVISION_URL=https://code.qt.io/cgit/qt-creator/qt-creator.git/log/?id=' + ide_revision] common.check_print_call(cmake_args + [paths.src], paths.build) - common.check_print_call(['cmake', '--build', '.'], paths.build) + build_args = ['cmake', '--build', '.'] + if args.make_args: + build_args += ['--'] + args.make_args + common.check_print_call(build_args, paths.build) if not args.no_docs: common.check_print_call(['cmake', '--build', '.', '--target', 'docs'], paths.build) diff --git a/share/qtcreator/android/sdk_definitions.json b/share/qtcreator/android/sdk_definitions.json index 6588d81b8ae..1e2cf071951 100644 --- a/share/qtcreator/android/sdk_definitions.json +++ b/share/qtcreator/android/sdk_definitions.json @@ -18,8 +18,8 @@ "specific_qt_versions": [ { "versions": ["default"], - "sdk_essential_packages": ["build-tools;29.0.2", "ndk-bundle"], - "ndk_path": "ndk-bundle" + "sdk_essential_packages": ["build-tools;29.0.2", "ndk;21.1.6352462"], + "ndk_path": "ndk/21.1.6352462" }, { "versions": ["5.12.[0-5]", "5.13.[0-1]"], diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index f6ff454d233..4ea7fc6bd8e 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -616,8 +616,9 @@ QVector AndroidConfig::connectedDevices(const FilePath &adbTo if (adbDevs.empty()) return devices; - while (adbDevs.first().startsWith("* daemon")) - adbDevs.removeFirst(); // remove the daemon logs + for (const QString line : adbDevs) // remove the daemon logs + if (line.startsWith("* daemon")) + adbDevs.removeOne(line); adbDevs.removeFirst(); // remove "List of devices attached" header line // workaround for '????????????' serial numbers: diff --git a/src/plugins/android/androidextralibrarylistmodel.cpp b/src/plugins/android/androidextralibrarylistmodel.cpp index 1bbcbc17472..7ade7405a8c 100644 --- a/src/plugins/android/androidextralibrarylistmodel.cpp +++ b/src/plugins/android/androidextralibrarylistmodel.cpp @@ -90,7 +90,8 @@ void AndroidExtraLibraryListModel::updateModel() { const QString buildKey = m_buildSystem->target()->activeBuildKey(); const ProjectNode *node = m_buildSystem->target()->project()->findNodeForBuildKey(buildKey); - QTC_ASSERT(node, return); + if (!node) + return; if (node->parseInProgress()) { emit enabledChanged(false); diff --git a/src/plugins/android/androidtoolmanager.cpp b/src/plugins/android/androidtoolmanager.cpp index 22c40dfef94..fa88a4987f8 100644 --- a/src/plugins/android/androidtoolmanager.cpp +++ b/src/plugins/android/androidtoolmanager.cpp @@ -206,8 +206,10 @@ AndroidDeviceInfoList AndroidToolManager::androidVirtualDevices(const Utils::Fil if (avds.empty()) return devices; - while (avds.first().startsWith(QLatin1String("* daemon"))) - avds.removeFirst(); // remove the daemon logs + for (const QString line : avds) // remove the daemon logs + if (line.startsWith("* daemon")) + avds.removeOne(line); + avds.removeFirst(); // remove "List of devices attached" header line bool nextLineIsTargetLine = false; diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp index 87863964fcd..7586daf92c0 100644 --- a/src/plugins/mcusupport/mcusupportsdk.cpp +++ b/src/plugins/mcusupport/mcusupportsdk.cpp @@ -149,19 +149,6 @@ static McuPackage *createRGLPackage() return result; } -static McuPackage *createStm32CubeFwF7SdkPackage() -{ - auto result = new McuPackage( - McuPackage::tr("STM32Cube SDK"), - "%{Env:STM32Cube_FW_F7_SDK_PATH}", - "Drivers/STM32F7xx_HAL_Driver", - "Stm32CubeFwF7Sdk"); - result->setDownloadUrl( - "https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-mcu-packages/stm32cubef7.html"); - result->setEnvironmentVariableName("STM32Cube_FW_F7_SDK_PATH"); - return result; -} - static McuPackage *createStm32CubeProgrammerPackage() { @@ -185,17 +172,6 @@ static McuPackage *createStm32CubeProgrammerPackage() return result; } -static McuPackage *createEvkbImxrt1050SdkPackage() -{ - auto result = new McuPackage( - McuPackage::tr("NXP i.MXRT SDK"), - "%{Env:EVKB_IMXRT1050_SDK_PATH}", // TODO: Try to not use 1050 specifics - "EVKB-IMXRT1050_manifest_v3_5.xml", - "EvkbImxrt1050Sdk"); - result->setDownloadUrl("https://mcuxpresso.nxp.com/en/welcome"); - return result; -} - static McuPackage *createMcuXpressoIdePackage() { const char envVar[] = "MCUXpressoIDE_PATH"; diff --git a/tests/system/suite_tools/tst_codepasting/test.py b/tests/system/suite_tools/tst_codepasting/test.py index 42eb3ef8b0a..0915f02fcc2 100644 --- a/tests/system/suite_tools/tst_codepasting/test.py +++ b/tests/system/suite_tools/tst_codepasting/test.py @@ -35,7 +35,6 @@ def __platformToBeRunToday__(): skipPastingToPastebinCom = platform.system() not in __platformToBeRunToday__() NAME_PBCOM = "Pastebin.Com" -NAME_PCXYZ = "Pastecode.Xyz" serverProblems = "Server side problems." @@ -169,7 +168,7 @@ def main(): startQC() if not startedWithoutPluginError(): return - protocolsToTest = [NAME_PBCOM, NAME_PCXYZ] + protocolsToTest = [NAME_PBCOM] sourceFile = os.path.join(os.getcwd(), "testdata", "main.cpp") # make sure General Messages is open openGeneralMessages()