From 72a8e2e6446cf9b427021859e02ecc24105e649e Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 21 Nov 2023 11:03:19 +0100 Subject: [PATCH 01/10] Python: fix pdb debugging The pdb engine is created in the DebuggerRunTool constructor so we cannot unconditionally overwrite the engine in DebuggerRunTool::start. Amends 9af8ecd935b8647d49574e1b66a522970025dcb8 Change-Id: I0c3c88d14235bfb01543da788a7bb5e7e99018d3 Reviewed-by: Artem Sokolovskii --- src/plugins/debugger/debuggerruncontrol.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index d797586d793..a12c8cec40d 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -481,7 +481,8 @@ void DebuggerRunTool::start() runControl()->setDisplayName(m_runParameters.displayName); - m_engine = createDapEngine(runControl()->runMode()); + if (!m_engine) + m_engine = createDapEngine(runControl()->runMode()); if (!m_engine) { if (m_runParameters.isCppDebugging()) { From 712586221278c29b9d1a5e73eeaa5b038bda7a7f Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 21 Nov 2023 10:27:56 +0100 Subject: [PATCH 02/10] Add some include guards Change-Id: If306f95f206e2b1cba48df806c822b8e2d27cf72 Reviewed-by: Eike Ziller --- src/plugins/android/avdmanageroutputparser.h | 2 ++ src/plugins/cmakeprojectmanager/projecttreehelper.h | 2 ++ src/plugins/python/pythonwizardpage.h | 2 ++ src/plugins/silversearcher/silversearcherparser_test.h | 2 ++ src/tools/buildoutputparser/outputprocessor.h | 2 ++ 5 files changed, 10 insertions(+) diff --git a/src/plugins/android/avdmanageroutputparser.h b/src/plugins/android/avdmanageroutputparser.h index ac65fce02bb..b3a74f8fc8e 100644 --- a/src/plugins/android/avdmanageroutputparser.h +++ b/src/plugins/android/avdmanageroutputparser.h @@ -1,6 +1,8 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#pragma once + #include "androiddeviceinfo.h" namespace Android { diff --git a/src/plugins/cmakeprojectmanager/projecttreehelper.h b/src/plugins/cmakeprojectmanager/projecttreehelper.h index aa655492d4a..08707360ed4 100644 --- a/src/plugins/cmakeprojectmanager/projecttreehelper.h +++ b/src/plugins/cmakeprojectmanager/projecttreehelper.h @@ -1,6 +1,8 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#pragma once + #include "cmakeprojectnodes.h" #include diff --git a/src/plugins/python/pythonwizardpage.h b/src/plugins/python/pythonwizardpage.h index 6cf8a130c59..9691e767524 100644 --- a/src/plugins/python/pythonwizardpage.h +++ b/src/plugins/python/pythonwizardpage.h @@ -1,6 +1,8 @@ // Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#pragma once + #include #include #include diff --git a/src/plugins/silversearcher/silversearcherparser_test.h b/src/plugins/silversearcher/silversearcherparser_test.h index 6d85cd21981..4278fb95159 100644 --- a/src/plugins/silversearcher/silversearcherparser_test.h +++ b/src/plugins/silversearcher/silversearcherparser_test.h @@ -1,6 +1,8 @@ // Copyright (C) 2017 Przemyslaw Gorszkowski . // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#pragma once + #include namespace SilverSearcher { diff --git a/src/tools/buildoutputparser/outputprocessor.h b/src/tools/buildoutputparser/outputprocessor.h index 4a34a5203e5..d0ca1616fb8 100644 --- a/src/tools/buildoutputparser/outputprocessor.h +++ b/src/tools/buildoutputparser/outputprocessor.h @@ -1,6 +1,8 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#pragma once + #include QT_BEGIN_NAMESPACE From 9c07e7ea7c0542928ee1a27fc21349d633b0c608 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 20 Nov 2023 13:36:06 +0100 Subject: [PATCH 03/10] PE: Close generated files silently if they have an editor Omits the original request whether to save a modified file if the files are opened inside QC, but it ensures to format the correct file content instead of using some cached content. Fixes: QTCREATORBUG-29904 Change-Id: I3b3f3e53fb811288a208376559243bea01d0d4a4 Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp index b7207ce45ef..17fc1e736c0 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp @@ -11,6 +11,7 @@ #include "../projectexplorertr.h" #include "../projecttree.h" +#include #include #include #include @@ -351,6 +352,14 @@ void JsonWizard::accept() return; } + const QList documentsToClose + = transform(m_files, [](const GeneratorFile &file) -> Core::IDocument * { + if ((file.file.attributes() & Core::GeneratedFile::OpenEditorAttribute) == 0) + return nullptr; + return Core::DocumentModel::documentForFilePath(file.file.filePath()); + }); + Core::EditorManager::closeDocuments(documentsToClose, /*askAboutModifiedEditors=*/false); + emit preWriteFiles(m_files); if (!JsonWizardGenerator::writeFiles(this, &m_files, &errorMessage)) { if (!errorMessage.isEmpty()) From 06595222fff5de1900de028e39caaccb9ac943d3 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 21 Nov 2023 14:58:40 +0100 Subject: [PATCH 04/10] Python: fix commercial pyside installation Change-Id: I6a89b9a9f32e07db91e67df248d94c78ae731455 Reviewed-by: Christian Stenger --- src/plugins/python/pyside.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/python/pyside.cpp b/src/plugins/python/pyside.cpp index a17ae89dca8..b2483c7cac6 100644 --- a/src/plugins/python/pyside.cpp +++ b/src/plugins/python/pyside.cpp @@ -89,8 +89,8 @@ void PySideInstaller::installPyside(const FilePath &python, const Utils::QtcSettings *settings = Core::ICore::settings(QSettings::SystemScope); const FilePaths requirementsList - = Utils::transform(settings->value("Python/PySideWheelsRequirements").toList(), - &FilePath::fromSettings); + = Utils::transform(settings->value("Python/PySideWheelsRequirements").toStringList(), + &FilePath::fromString); for (const FilePath &requirements : requirementsList) { if (requirements.exists()) { auto version = QVersionNumber::fromString(requirements.parentDir().fileName()); From d08bb59faf92d6b869377d16ced4198d7234abe4 Mon Sep 17 00:00:00 2001 From: Yasser Grimes Date: Mon, 20 Nov 2023 15:52:17 +0200 Subject: [PATCH 05/10] McuSupport: Reset invalid packages to default on update When updating kits some packages will still have the cached value of the outdated package resulting in failure on updated. although default paths would have given the correct path. This patch restore package values to the default value, in addition to tracking changes in model-names that correspond to the same kit. Fixes: QTCREATORBUG-29855 Change-Id: Iad52df93e1e39c7f56bdb30036ac21cda8cdf670 Reviewed-by: Alessandro Portale Reviewed-by: Eike Ziller --- src/plugins/mcusupport/mcukitmanager.cpp | 12 +++++++++++- src/plugins/mcusupport/mcutarget.cpp | 13 +++++++++++++ src/plugins/mcusupport/mcutarget.h | 6 ++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/plugins/mcusupport/mcukitmanager.cpp b/src/plugins/mcusupport/mcukitmanager.cpp index 39e13f80892..2cc2311e693 100644 --- a/src/plugins/mcusupport/mcukitmanager.cpp +++ b/src/plugins/mcusupport/mcukitmanager.cpp @@ -30,6 +30,7 @@ #include +#include #include #include #include @@ -430,11 +431,17 @@ bool kitIsUpToDate(const Kit *kit, QList existingKits(const McuTarget *mcuTarget) { using namespace Constants; + // some models have compatible name changes that refere to the same supported board across versions. + // name changes are tracked here to recognize the corresponding kits as upgradable. + static QMap upgradable_to = { + {"MIMXRT1170-EVK-FREERTOS", {"MIMXRT1170-EVKB-FREERTOS"}}}; return Utils::filtered(KitManager::kits(), [mcuTarget](Kit *kit) { return kit->value(KIT_MCUTARGET_KITVERSION_KEY) == KIT_VERSION && (!mcuTarget || (kit->value(KIT_MCUTARGET_VENDOR_KEY) == mcuTarget->platform().vendor - && kit->value(KIT_MCUTARGET_MODEL_KEY) == mcuTarget->platform().name + && (kit->value(KIT_MCUTARGET_MODEL_KEY) == mcuTarget->platform().name + || upgradable_to[kit->value(KIT_MCUTARGET_MODEL_KEY).toString()].contains( + mcuTarget->platform().name)) && kit->value(KIT_MCUTARGET_COLORDEPTH_KEY) == mcuTarget->colorDepth() && kit->value(KIT_MCUTARGET_OS_KEY).toInt() == static_cast(mcuTarget->os()) @@ -590,6 +597,9 @@ void upgradeKitsByCreatingNewPackage(const SettingsHandler::Ptr &settingsHandler if (upgradeOption == UpgradeOption::Replace) { for (auto existingKit : kits) KitManager::deregisterKit(existingKit); + // Reset cached values that are not valid after an update + // Exp: a board sdk version that was dropped in newer releases + target->resetInvalidPathsToDefault(); } if (target->isValid()) diff --git a/src/plugins/mcusupport/mcutarget.cpp b/src/plugins/mcusupport/mcutarget.cpp index d7a3b0fe397..faef32b61ba 100644 --- a/src/plugins/mcusupport/mcutarget.cpp +++ b/src/plugins/mcusupport/mcutarget.cpp @@ -113,6 +113,19 @@ void McuTarget::handlePackageProblems(MessagesList &messages) const } } +void McuTarget::resetInvalidPathsToDefault() +{ + + for (McuPackagePtr package : std::as_const(m_packages)) { + if (!package) + continue; + if (package->isValidStatus()) + continue; + package->setPath(package->defaultPath()); + package->writeToSettings(); + } +} + QVersionNumber McuTarget::qulVersion() const { return m_qulVersion; diff --git a/src/plugins/mcusupport/mcutarget.h b/src/plugins/mcusupport/mcutarget.h index 8ee19f54ab0..ce715c8c6f7 100644 --- a/src/plugins/mcusupport/mcutarget.h +++ b/src/plugins/mcusupport/mcutarget.h @@ -56,6 +56,12 @@ public: QString desktopCompilerId() const; void handlePackageProblems(MessagesList &messages) const; + // Used when updating to new version of QtMCUs + // Paths that is not valid in the new version, + // and were valid in the old version. have the possibility be valid if + // reset to the default value without user intervention + void resetInvalidPathsToDefault(); + private: const QVersionNumber m_qulVersion; const Platform m_platform; From b298c981f8b294d9c681304297549ed024f07c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sivert=20Kr=C3=B8vel?= Date: Tue, 21 Nov 2023 14:12:51 +0100 Subject: [PATCH 06/10] Revert "McuSuport: Use qsTrId() instead of qsTr in QtMCUs templates" The id based translation feature is not available on Qt for MCUs 2.5 This reverts commit 8f948c28a9e549077b2a81bb3cb414385e93fcd3. Task-number: QTCREATORBUG-29940 Change-Id: I0a63e8738e2a0b92319ba53d8b1f1730f8421796 Reviewed-by: Alessandro Portale Reviewed-by: Samuel Mira Reviewed-by: Yasser Grimes --- src/plugins/mcusupport/mcusupport.qrc | 2 +- .../qmlproject-empty/project.qmlproject.tpl | 1 - .../wizards/qmlproject/main.qml.tpl | 3 +- .../wizards/qmlproject/main_big.qml.tpl | 30 +++++++++++++++++++ .../wizards/qmlproject/project.qmlproject.tpl | 8 ++--- .../wizards/qmlproject/translation.en_US.ts | 10 ------- .../wizards/qmlproject/translation.nb_NO.ts | 4 ++- .../mcusupport/wizards/qmlproject/wizard.json | 10 ++----- 8 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 src/plugins/mcusupport/wizards/qmlproject/main_big.qml.tpl delete mode 100644 src/plugins/mcusupport/wizards/qmlproject/translation.en_US.ts diff --git a/src/plugins/mcusupport/mcusupport.qrc b/src/plugins/mcusupport/mcusupport.qrc index f6e5c151332..dc64ac1ca2f 100644 --- a/src/plugins/mcusupport/mcusupport.qrc +++ b/src/plugins/mcusupport/mcusupport.qrc @@ -13,8 +13,8 @@ wizards/qmlproject/DejaVuSansMono.ttf wizards/qmlproject/LICENSE wizards/qmlproject/translation.nb_NO.ts - wizards/qmlproject/translation.en_US.ts wizards/qmlproject/BackendObject.h + wizards/qmlproject/main_big.qml.tpl wizards/qmlproject/main.qml.tpl wizards/qmlproject/project.qmlproject.tpl wizards/qmlproject/module.qmlproject.tpl diff --git a/src/plugins/mcusupport/wizards/qmlproject-empty/project.qmlproject.tpl b/src/plugins/mcusupport/wizards/qmlproject-empty/project.qmlproject.tpl index ead4e315a36..ab85861a5ec 100644 --- a/src/plugins/mcusupport/wizards/qmlproject-empty/project.qmlproject.tpl +++ b/src/plugins/mcusupport/wizards/qmlproject-empty/project.qmlproject.tpl @@ -5,7 +5,6 @@ Project { // importPaths: [] // Alternative API to ModuleFiles for importing modules. // projectRootPath: "." // Optional root path relative to qmlproject file path. mainFile: "%{MainQmlFile}" // The application's entrypoint - idBasedTranslations: true // Use qsTrId() instead of qsTr() MCU.Config { controlsStyle: "QtQuick.Controls.StyleDefault" diff --git a/src/plugins/mcusupport/wizards/qmlproject/main.qml.tpl b/src/plugins/mcusupport/wizards/qmlproject/main.qml.tpl index 5097435e099..44f4788740c 100644 --- a/src/plugins/mcusupport/wizards/qmlproject/main.qml.tpl +++ b/src/plugins/mcusupport/wizards/qmlproject/main.qml.tpl @@ -16,10 +16,9 @@ Rectangle { CustomButton { anchors.centerIn: parent - text: qsTrId("hello-world") + text: qsTr("Hello world!") onClicked: BackendObject.toggle() } BackendObject.onCustomPropertyChanged: Qt.uiLanguage = BackendObject.customProperty ? "en_US" : "nb_NO" - Component.onCompleted: Qt.uiLanguage = "en_US" } diff --git a/src/plugins/mcusupport/wizards/qmlproject/main_big.qml.tpl b/src/plugins/mcusupport/wizards/qmlproject/main_big.qml.tpl new file mode 100644 index 00000000000..60f77144499 --- /dev/null +++ b/src/plugins/mcusupport/wizards/qmlproject/main_big.qml.tpl @@ -0,0 +1,30 @@ +import QtQuick 2.0 +import CustomModule + +Rectangle { + // Component.onCompleted: Qt.uiLanguage = "nb_NO" // Uncomment to change the UI language //TODO: Is this the "official" method of setting ui language? + + Row { + visible: CustomObject.customProperty + Image { + anchors.centerIn: parent + id: icon + source: "assets/icon.png" + } + Text { + anchors.centerIn: parent + font.pixelSize: 28 + id: title + text: " for MCUs" + } + } + + CustomComponent { + anchors.centerIn: parent + } + + MouseArea { + anchors.fill: parent + onClicked: CustomObject.toggle() + } +} diff --git a/src/plugins/mcusupport/wizards/qmlproject/project.qmlproject.tpl b/src/plugins/mcusupport/wizards/qmlproject/project.qmlproject.tpl index 113cd1f07a7..0c879ccfb0d 100644 --- a/src/plugins/mcusupport/wizards/qmlproject/project.qmlproject.tpl +++ b/src/plugins/mcusupport/wizards/qmlproject/project.qmlproject.tpl @@ -5,7 +5,6 @@ Project { // importPaths: ["imports/CustomModule"] // Alternative API for importing modules. // projectRootPath: "." // Optional root path relative to qmlproject file path. mainFile: "%{MainQmlFile}" // The application's entrypoint - idBasedTranslations: true // Use qsTrId() instead of qsTr() /* Global configuration */ MCU.Config { @@ -89,11 +88,8 @@ Project { /* Translations */ TranslationFiles { - files: [ - "translations/%{TsFileEn}", - "translations/%{TsFileNo}" - ] - MCU.omitSourceLanguage: true + files: ["translations/%{TsFile}"] + MCU.omitSourceLanguage: false } FontFiles { diff --git a/src/plugins/mcusupport/wizards/qmlproject/translation.en_US.ts b/src/plugins/mcusupport/wizards/qmlproject/translation.en_US.ts deleted file mode 100644 index f4f94ed311c..00000000000 --- a/src/plugins/mcusupport/wizards/qmlproject/translation.en_US.ts +++ /dev/null @@ -1,10 +0,0 @@ - - - - - %{CorrectedProjectName} - - Hello world! - - - diff --git a/src/plugins/mcusupport/wizards/qmlproject/translation.nb_NO.ts b/src/plugins/mcusupport/wizards/qmlproject/translation.nb_NO.ts index 10bdd92d377..2cd70a44edd 100644 --- a/src/plugins/mcusupport/wizards/qmlproject/translation.nb_NO.ts +++ b/src/plugins/mcusupport/wizards/qmlproject/translation.nb_NO.ts @@ -3,7 +3,9 @@ %{CorrectedProjectName} - + + + Hello world! Hallo verden! diff --git a/src/plugins/mcusupport/wizards/qmlproject/wizard.json b/src/plugins/mcusupport/wizards/qmlproject/wizard.json index 8375cfb212b..4a5f582d432 100644 --- a/src/plugins/mcusupport/wizards/qmlproject/wizard.json +++ b/src/plugins/mcusupport/wizards/qmlproject/wizard.json @@ -21,8 +21,7 @@ { "key": "ModuleFile", "value": "CustomModule.qmlproject"}, { "key": "QmlComponent", "value": "CustomButton.qml"}, { "key": "InterfaceFile", "value": "BackendObject.h"}, - { "key": "TsFileEn", "value": "%{CorrectedProjectName}.en_US.ts"}, - { "key": "TsFileNo", "value": "%{CorrectedProjectName}.nb_NO.ts"} + { "key": "TsFile", "value": "%{CorrectedProjectName}.nb_NO.ts"} ], "pages": @@ -104,12 +103,7 @@ }, { "source": "translation.nb_NO.ts", - "target": "%{QmlProjectDirectory}/translations/%{TsFileNo}", - "openInEditor": false - }, - { - "source": "translation.en_US.ts", - "target": "%{QmlProjectDirectory}/translations/%{TsFileEn}", + "target": "%{QmlProjectDirectory}/translations/%{TsFile}", "openInEditor": false }, { From 7475b073fb8084cf1304cea8a1781e74204a0a11 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 21 Nov 2023 16:07:53 +0100 Subject: [PATCH 07/10] CPlusPlus: Fix finding end of raw string literal The employed algorithm lacked proper backtracking, potentially causing us to miss the delimiter altogether. Change-Id: I7993c3c27d034925bd884e192779c85c54be9ec4 Reviewed-by: hjk --- src/libs/3rdparty/cplusplus/Lexer.cpp | 18 +++++++++--------- src/plugins/cppeditor/cpphighlighter.cpp | 6 ++++++ .../testcases/highlightingtestcase.cpp | 3 +++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/libs/3rdparty/cplusplus/Lexer.cpp b/src/libs/3rdparty/cplusplus/Lexer.cpp index deafe432b6a..62a95f455a7 100644 --- a/src/libs/3rdparty/cplusplus/Lexer.cpp +++ b/src/libs/3rdparty/cplusplus/Lexer.cpp @@ -838,16 +838,16 @@ void Lexer::scanRawStringLiteral(Token *tok, unsigned char hint) bool Lexer::scanUntilRawStringLiteralEndPrecise() { - int matchLen = 0; + QByteArray slidingWindow; + slidingWindow.reserve(_expectedRawStringSuffix.size()); while (_yychar) { - if (_yychar == _expectedRawStringSuffix.at(matchLen)) { - if (++matchLen == _expectedRawStringSuffix.length()) { - _expectedRawStringSuffix.clear(); - yyinp(); - return true; - } - } else { - matchLen = 0; + slidingWindow.append(_yychar); + if (slidingWindow.size() > _expectedRawStringSuffix.size()) + slidingWindow.removeFirst(); + if (slidingWindow == _expectedRawStringSuffix) { + _expectedRawStringSuffix.clear(); + yyinp(); + return true; } yyinp(); } diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp index f562d9afece..142b2b296c9 100644 --- a/src/plugins/cppeditor/cpphighlighter.cpp +++ b/src/plugins/cppeditor/cpphighlighter.cpp @@ -590,6 +590,12 @@ void CppHighlighterTest::test_data() << 38 << 18 << 39 << 3 << C_STRING; QTest::newRow("multi-line user-defined UTF-16 string literal (suffix)") << 39 << 4 << 39 << 5 << C_OPERATOR; + QTest::newRow("multi-line raw string literal with consecutive closing parens (prefix)") + << 48 << 18 << 48 << 20 << C_KEYWORD; + QTest::newRow("multi-line raw string literal with consecutive closing parens (content)") + << 49 << 1 << 49 << 1 << C_STRING; + QTest::newRow("multi-line raw string literal with consecutive closing parens (suffix)") + << 49 << 2 << 49 << 3 << C_KEYWORD; } void CppHighlighterTest::test() diff --git a/src/plugins/cppeditor/testcases/highlightingtestcase.cpp b/src/plugins/cppeditor/testcases/highlightingtestcase.cpp index d1ec061aa29..a9102ce4578 100644 --- a/src/plugins/cppeditor/testcases/highlightingtestcase.cpp +++ b/src/plugins/cppeditor/testcases/highlightingtestcase.cpp @@ -44,3 +44,6 @@ static void parenTest() /* comment */ \ } while (false); } + +const char* s7 = R"( +))"; From 0c6f71ef20df86c4b715139f9c0b79ad4486da65 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 21 Nov 2023 15:13:44 +0100 Subject: [PATCH 08/10] Change log for 12.0.0 Update contributor list Change-Id: I83ed8fdc714f6be0fd4d77cc1ef3078e3ab5ced6 Reviewed-by: Leena Miettinen --- dist/changelog/changes-12.0.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dist/changelog/changes-12.0.0.md b/dist/changelog/changes-12.0.0.md index 3d8608f2da9..84110f0ad81 100644 --- a/dist/changelog/changes-12.0.0.md +++ b/dist/changelog/changes-12.0.0.md @@ -371,6 +371,7 @@ Credits for these changes go to: -------------------------------- Aleksei German Alessandro Portale +Alexandre Laurent Ali Kianian Amr Essam Andre Hartmann @@ -393,6 +394,7 @@ Johanna Vanhatapio Johnny Jazeix Jonas Karlsson Jussi Witick +Karim Abdelrahman Knud Dollereder Leena Miettinen Ludovic Le Brun @@ -402,6 +404,7 @@ Marcus Tillmanns Mats Honkamaa Mehdi Salem Miikka Heikkinen +Mike Chen Olivier De Cannière Olivier Delaune Orgad Shaneh From 27055e4c3904b09385c96a2ac336aef87f3a4f8e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 22 Nov 2023 06:39:16 +0100 Subject: [PATCH 09/10] CPlusPlus: Fix compile before Qt6.5 Amends 7475b073fb8084cf1304cea8a1781e74204a0a11. Change-Id: I59494fe485cdb40b3af089698edc895dc2dd4519 Reviewed-by: David Schulz --- src/libs/3rdparty/cplusplus/Lexer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/3rdparty/cplusplus/Lexer.cpp b/src/libs/3rdparty/cplusplus/Lexer.cpp index 62a95f455a7..92cfc5d6ecf 100644 --- a/src/libs/3rdparty/cplusplus/Lexer.cpp +++ b/src/libs/3rdparty/cplusplus/Lexer.cpp @@ -843,7 +843,7 @@ bool Lexer::scanUntilRawStringLiteralEndPrecise() while (_yychar) { slidingWindow.append(_yychar); if (slidingWindow.size() > _expectedRawStringSuffix.size()) - slidingWindow.removeFirst(); + slidingWindow.remove(0, 1); if (slidingWindow == _expectedRawStringSuffix) { _expectedRawStringSuffix.clear(); yyinp(); From 0da6fe68905dd1be0e70ebe75554b102b0ed2c5f Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 22 Nov 2023 20:28:43 +0200 Subject: [PATCH 10/10] CppEditor: Pass function by reference Coverity-Id: 1572606 Change-Id: Ia25fe956ebace7e77412971d7834ce63f236f729 Reviewed-by: Christian Kandeler --- src/plugins/cppeditor/cpptoolsreuse.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/cppeditor/cpptoolsreuse.cpp b/src/plugins/cppeditor/cpptoolsreuse.cpp index 543f046237d..06bf220382a 100644 --- a/src/plugins/cppeditor/cpptoolsreuse.cpp +++ b/src/plugins/cppeditor/cpptoolsreuse.cpp @@ -79,12 +79,12 @@ static int skipChars(QTextCursor *tc, return count; } -static int skipCharsForward(QTextCursor *tc, std::function skip) +static int skipCharsForward(QTextCursor *tc, const std::function &skip) { return skipChars(tc, QTextCursor::NextCharacter, 0, skip); } -static int skipCharsBackward(QTextCursor *tc, std::function skip) +static int skipCharsBackward(QTextCursor *tc, const std::function &skip) { return skipChars(tc, QTextCursor::PreviousCharacter, -1, skip); }