From e2fcad5700a85e2c95de25c41a3c0256b6c63af2 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 26 Jul 2024 08:53:43 +0200 Subject: [PATCH 01/24] Bump version to 14.0.1 Change-Id: Id996ff1f27407b010f410a04bfb8fd5262deca2d Reviewed-by: Eike Ziller --- cmake/QtCreatorIDEBranding.cmake | 4 ++-- qbs/modules/qtc/qtc.qbs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index b24847b7705..20773c71ac1 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "14.0.0") # The IDE version. +set(IDE_VERSION "14.0.1") # The IDE version. set(IDE_VERSION_COMPAT "14.0.0") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "14.0.0") # The IDE display version. +set(IDE_VERSION_DISPLAY "14.0.1") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2024") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 9e50abc5e27..31efc8b456a 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -4,10 +4,10 @@ import qbs.FileInfo import qbs.Utilities Module { - property string qtcreator_display_version: '14.0.0' + property string qtcreator_display_version: '14.0.1' property string ide_version_major: '14' property string ide_version_minor: '0' - property string ide_version_release: '0' + property string ide_version_release: '1' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release From 6deb5dce752354baf0d3b1610cba211569847274 Mon Sep 17 00:00:00 2001 From: Andrew Shark Date: Sun, 28 Jul 2024 05:47:02 +0300 Subject: [PATCH 02/24] Minor fixes in documentation Fix alignment of "" tag. Correct the thing which the clear button clears (output of cmake, not the search result). Change-Id: I6a6775c025e334c6a45484c7c59c8de1b4b70421 Reviewed-by: Leena Miettinen --- doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc | 2 +- .../creator-only/creator-projects-settings-sharing.qdoc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc index c3b9692c5ae..59e26fd0994 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc @@ -170,7 +170,7 @@ \image qtcreator-build-cmake-output.png {CMake output in Projects mode} - To clear the search results, select the \inlineimage icons/clean_pane_small.png + To clear the output from CMake, select the \inlineimage icons/clean_pane_small.png (\uicontrol Clear) button. You can enter a string in the \uicontrol Filter field to filter output. diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc index 11c3c984301..aa9fd67a479 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc @@ -51,7 +51,7 @@ 14 4 - + ProjectExplorer.Project.Updater.FileVersion 10 @@ -82,7 +82,7 @@ - + ProjectExplorer.Project.PluginSettings From 41aaf556ccc2a084e1dd34b4797497ad8b1a69af Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 4 Jul 2024 15:41:57 +0200 Subject: [PATCH 03/24] Dumper: Comment out debug message Left over from writing another patch. Change-Id: I3d2eeda4a1ea3c7dda3f9062bb30ed5137c7b09f Reviewed-by: hjk --- share/qtcreator/debugger/dumper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index e447c639cf5..8aa89cc0901 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -3716,7 +3716,7 @@ typename)) return size, typeid typeobj = self.lookupType(typename) - self.warn("LOOKUP FIELD TYPE: %s TYPEOBJ: %s" % (typename, typeobj)) + #self.warn("LOOKUP FIELD TYPE: %s TYPEOBJ: %s" % (typename, typeobj)) if typeobj is not None: typeid = typeobj.typeid size = self.type_size(typeid) From 09322f40146060f10f1dc1ce22eb121b1ee2c8b6 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 29 Jul 2024 12:53:27 +0200 Subject: [PATCH 04/24] Update qbs submodule to HEAD of 2.4 branch Change-Id: I8d1ae9cc997fb73d241274c8a4f13d62cebd049a Reviewed-by: Christian Stenger --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index 70e60671e71..34e91f7a5d8 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 70e60671e71730f294530349d1fc57cec9d215ee +Subproject commit 34e91f7a5d825c9462d59e2283be628b9d5b5817 From ab7225c6d23644204ac014d9485aaef28a615fcd Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Sat, 27 Jul 2024 18:40:55 +0200 Subject: [PATCH 05/24] Vcpkg: Prefer environment variable over executable path The executable can be in a different directory. Change-Id: Ie630d464734d1ef9d0a9e1adfb8da8e56c67b5dd Reviewed-by: Alessandro Portale --- src/plugins/vcpkg/vcpkgsettings.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/vcpkg/vcpkgsettings.cpp b/src/plugins/vcpkg/vcpkgsettings.cpp index 160f57ef6ed..a6b43fdbdb3 100644 --- a/src/plugins/vcpkg/vcpkgsettings.cpp +++ b/src/plugins/vcpkg/vcpkgsettings.cpp @@ -35,10 +35,12 @@ VcpkgSettings::VcpkgSettings() vcpkgRoot.setSettingsKey("VcpkgRoot"); vcpkgRoot.setExpectedKind(PathChooser::ExistingDirectory); - FilePath defaultPath = Environment::systemEnvironment().searchInPath(Constants::VCPKG_COMMAND) - .parentDir(); + FilePath defaultPath = FilePath::fromUserInput( + qtcEnvironmentVariable(Constants::ENVVAR_VCPKG_ROOT)); + if (!defaultPath.isDir()) - defaultPath = FilePath::fromUserInput(qtcEnvironmentVariable(Constants::ENVVAR_VCPKG_ROOT)); + defaultPath = Environment::systemEnvironment().searchInPath(Constants::VCPKG_COMMAND).parentDir(); + if (defaultPath.isDir()) vcpkgRoot.setDefaultPathValue(defaultPath); From 671365b0a07b3db6a68be079a11b147232248126 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 30 Jul 2024 09:35:35 +0200 Subject: [PATCH 06/24] CppEditor: Avoid nullptr access Fixes: QTCREATORBUG-31318 Change-Id: I1728902346ce2f4d7346b71305e2e9d87abf62db Reviewed-by: Christian Kandeler --- src/plugins/cppeditor/typehierarchybuilder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/cppeditor/typehierarchybuilder.cpp b/src/plugins/cppeditor/typehierarchybuilder.cpp index a4266955054..a18945f065b 100644 --- a/src/plugins/cppeditor/typehierarchybuilder.cpp +++ b/src/plugins/cppeditor/typehierarchybuilder.cpp @@ -185,6 +185,7 @@ void TypeHierarchyBuilder::buildDerived(const std::optional> &futu return; Document::Ptr doc = snapshot.document(fileName); if ((_candidates.contains(fileName) && !_candidates.value(fileName).contains(symbolName)) + || !symbol->identifier() || !doc->control()->findIdentifier(symbol->identifier()->chars(), symbol->identifier()->size())) { continue; From 01acba9533a85d66f61ce3e7231b90e7ea57dff0 Mon Sep 17 00:00:00 2001 From: Alexandre Laurent Date: Mon, 29 Jul 2024 22:47:17 +0200 Subject: [PATCH 07/24] Fix some QtC:AutoTest translations Change-Id: Idf7e34954d17ccb9ab01be292c5ae5cb1b3bf373 Reviewed-by: Olivier Delaune Reviewed-by: Johnny Jazeix Reviewed-by: Eike Ziller --- share/qtcreator/translations/qtcreator_fr.ts | 24 +++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_fr.ts b/share/qtcreator/translations/qtcreator_fr.ts index 5f03828b04d..2f571f310a6 100644 --- a/share/qtcreator/translations/qtcreator_fr.ts +++ b/share/qtcreator/translations/qtcreator_fr.ts @@ -11548,6 +11548,14 @@ Cela ne peut être annulé. Cannot parse "%1". Impossible d'analyser « %1 ». + + Android package installation finished with success. + Installation du paquet Android terminée avec succès. + + + Android package installation failed. + Échec lors de l'installation du paquet Android. + Android package installation failed. %1 @@ -12873,7 +12881,7 @@ Exécutable : %2 Skip throwing assertions - Ignore les assertions + Ignorer les assertions Skips all assertions that test for thrown exceptions. @@ -13024,7 +13032,7 @@ Exécutable : %2 Run disabled tests - Exécute les tests désactivés + Exécuter les tests désactivés Executes disabled tests when performing a test run. @@ -13045,7 +13053,7 @@ Exécutable : %2 Throw on failure GTest option gtest_throw_on_failure - Envoi d'une exception en cas d'échec + Envoyer une exception en cas d'échec Turns assertion failures into C++ exceptions. @@ -13220,7 +13228,7 @@ Voir la documentation de Google Test pour plus d'informations sur les filtr Disable crash handler while debugging - Désactive le gestionnaire de plantage lors du débogage + Désactiver le gestionnaire de plantage lors du débogage Enables interrupting tests on assertions. @@ -13228,7 +13236,7 @@ Voir la documentation de Google Test pour plus d'informations sur les filtr Use XML output - Utilise la sortie XML + Utiliser la sortie XML XML output is recommended, because it avoids parsing issues, while plain text is more human readable.<p>Warning: Plain text misses some information, such as duration. @@ -13703,7 +13711,7 @@ Cela peut provoquer des problèmes lors de l'exécution. Automatically scroll results - Défile automatiquement les résultats + Faire défiler automatiquement les résultats Number of worker threads used when scanning for tests. @@ -13723,7 +13731,7 @@ Cela peut provoquer des problèmes lors de l'exécution. Group results by application - Regrouppe les résultats par application + Regrouper les résultats par application Process arguments @@ -13781,7 +13789,7 @@ Avertissement : fonctionnalité expérimentale pouvant entraîner un échec Automatically run - Exécute automatiquement + Exécuter automatiquement Active Test Frameworks From 59ce9dc04bfc6c2d5b49852eb37739024e37beab Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Sat, 27 Jul 2024 14:41:25 +0200 Subject: [PATCH 08/24] CMakePM: Fix saving "Initial Configuration" values Amends 6c5717844db6cdaafc0cc47b5f765d0e9acd055a The CMakeBuildSystem::clearCMakeCache() would call BuildSystem::emitParsingFinished which would clear the configuration in the widget, effectively removing any "Initial Configuration" changes when clicking on the "Re-configure with Initial Parameters" button. This commit makes sure that the updateInitialCMakeArguments() function is called before CMakeBuildSystem::clearCMakeCache(), and that only the "Build > Clear CMake Configuration" action would "disableCMakeBuildMenuActions" which is what an user would expect. Fixes: QTCREATORBUG-31320 Change-Id: Ie7810c9bed000ca19a31a6ab8e7a281ae9f5e6f0 Reviewed-by: Alessandro Portale --- src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp | 4 ++-- src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp | 5 +++++ src/plugins/cmakeprojectmanager/cmakebuildsystem.h | 1 + src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index c3cae5ff62e..747659de3b8 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -621,10 +621,10 @@ void CMakeBuildSettingsWidget::reconfigureWithInitialParameters() if (reply != QMessageBox::Yes) return; - m_buildConfig->cmakeBuildSystem()->clearCMakeCache(); - updateInitialCMakeArguments(); + m_buildConfig->cmakeBuildSystem()->clearCMakeCache(); + if (ProjectExplorerPlugin::saveModifiedFiles()) m_buildConfig->cmakeBuildSystem()->runCMake(); } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 4db4b78a09b..a150d82f9a5 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -1239,6 +1239,11 @@ void CMakeBuildSystem::clearCMakeCache() path.removeRecursively(); emit configurationCleared(); +} + +void CMakeBuildSystem::disableCMakeBuildMenuActions() +{ + emitParsingStarted(); emitParsingFinished(false); } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h index 32966c64bbb..b6827385908 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h @@ -77,6 +77,7 @@ public: bool persistCMakeState(); void clearCMakeCache(); + void disableCMakeBuildMenuActions(); // Context menu actions: void buildCMakeTarget(const QString &buildTarget); diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index f3e512eebb0..b81b03bee6d 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -262,6 +262,7 @@ void CMakeManager::clearCMakeCache(BuildSystem *buildSystem) QTC_ASSERT(cmakeBuildSystem, return); cmakeBuildSystem->clearCMakeCache(); + cmakeBuildSystem->disableCMakeBuildMenuActions(); } void CMakeManager::runCMake(BuildSystem *buildSystem) From c3241ec7bc6e43883b07bb98445c29efeffd76a2 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 31 Jul 2024 10:43:29 +0200 Subject: [PATCH 09/24] Use Qt 6.7.2 for GitHub & Coin Same as we use for packages. Change-Id: I55234cc3563a4d1a153a98f53ef3d7c011cf399f Reviewed-by: Cristian Adam --- .github/workflows/build_cmake.yml | 2 +- coin/instructions/common_environment.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 9541c4c7017..e07bcb0669f 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -7,7 +7,7 @@ on: - 'doc/**' env: - QT_VERSION: 6.7.1 + QT_VERSION: 6.7.2 MACOS_DEPLOYMENT_TARGET: 11.0 CLANG_VERSION: 18.1.7 ELFUTILS_VERSION: 0.175 diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml index 22d53d03e2a..31d658ff3ab 100644 --- a/coin/instructions/common_environment.yaml +++ b/coin/instructions/common_environment.yaml @@ -10,7 +10,7 @@ instructions: variableValue: https://ci-files02-hki.ci.qt.io/packages/jenkins/qtcreator_libclang/libclang-release_18.1.7-based - type: EnvironmentVariable variableName: QTC_QT_BASE_URL - variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/archive/qt/6.7/6.7.1-released/Qt" + variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/archive/qt/6.7/6.7.2-released/Qt" - type: EnvironmentVariable variableName: QTC_QT_MODULES variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine" From fb18e5e992d8126df4682d4f6835c45f4c3468ce Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 31 Jul 2024 11:53:34 +0200 Subject: [PATCH 10/24] Theming: Fix AlternateBase palette role for light theme on dark system In order to run a non-dark theme on a system where a dark theme is set, Qt Creator overrides the dark application palette which is set by Qt. The override palette is defined in light-palette.inc. This change fixes the AlternateBase role to be just a bit darker than Base. Fixes: QTCREATORBUG-31226 Change-Id: Idca65198d1b2b8876ca580f2a0d3ba19dd03805d Reviewed-by: Christian Stenger Reviewed-by: Eike Ziller --- share/qtcreator/themes/light-palette.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/themes/light-palette.inc b/share/qtcreator/themes/light-palette.inc index 99fe763a8bd..069dd3d329d 100644 --- a/share/qtcreator/themes/light-palette.inc +++ b/share/qtcreator/themes/light-palette.inc @@ -5,7 +5,7 @@ PaletteWindowText=ff000000 PaletteWindowTextDisabled=PaletteTextDisabled PaletteBase=PaletteWindow PaletteBaseDisabled=PaletteWindowDisabled -PaletteAlternateBase=ff515151 +PaletteAlternateBase=fff7f7f7 ;PaletteAlternateBaseDisabled PaletteToolTipBase=PaletteDark ;PaletteToolTipBaseDisabled From c7aae25b94ebf6b2950ff6a585dbc3a5d03f24ea Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 1 Aug 2024 07:33:06 +0200 Subject: [PATCH 11/24] RemoteLinux: Fix crash When adding a Docker device via the Add Device Wizard, while the docker executable is running on a remote linux device, a crash would happen because the linux device is destroyed due to a call to "saveSettings". This patch adds a lock to the device shell mutex during destruction to try and keep the device alive while a LinuxDevicePrivate::runInShell call is still ongoing. Fixes: QTCREATORBUG-31364 Change-Id: Ia154b527bb8344fc41fa91a56a7ef3305bfef0fa Reviewed-by: Christian Kandeler --- src/plugins/remotelinux/linuxdevice.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index c4b21a1f413..e539d9733d0 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -1170,6 +1170,7 @@ LinuxDevicePrivate::LinuxDevicePrivate(LinuxDevice *parent) LinuxDevicePrivate::~LinuxDevicePrivate() { + QMutexLocker locker(&m_shellMutex); auto closeShell = [this] { m_shellThread.quit(); m_shellThread.wait(); From 70c4d3f8c5670e29dfbbd557b6d6eb68988920b0 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 1 Aug 2024 09:54:24 +0200 Subject: [PATCH 12/24] Debugger: Install old dumper files They are still meant to be shipped. Change-Id: Ice6cf566638463fd49df79ee787de53cfd3e188b Reviewed-by: Eike Ziller Reviewed-by: hjk --- share/qtcreator/CMakeLists.txt | 18 ++++++++++++++++++ share/share.qbs | 2 ++ 2 files changed, 20 insertions(+) diff --git a/share/qtcreator/CMakeLists.txt b/share/qtcreator/CMakeLists.txt index 6a18147f9fd..d0b5d2f7266 100644 --- a/share/qtcreator/CMakeLists.txt +++ b/share/qtcreator/CMakeLists.txt @@ -39,6 +39,24 @@ set(resource_files debugger/stdtypes.py debugger/utils.py debugger/loadorder.txt + + debugger-with-python2/qttypes.py + debugger-with-python2/personaltypes.py + debugger-with-python2/android_stdtypes.py + debugger-with-python2/README.txt + debugger-with-python2/gdbbridge.py + debugger-with-python2/cdbbridge.py + debugger-with-python2/lldbbridge.py + debugger-with-python2/misctypes.py + debugger-with-python2/opencvtypes.py + debugger-with-python2/libcpp_stdtypes.py + debugger-with-python2/creatortypes.py + debugger-with-python2/stdtypes.py + debugger-with-python2/gdbtracepoint.py + debugger-with-python2/utils.py + debugger-with-python2/boosttypes.py + debugger-with-python2/dumper.py + debugger-with-python2/pdbbridge.py ) # copy resource directories during build diff --git a/share/share.qbs b/share/share.qbs index 745a8131a94..cc1a449ab6f 100644 --- a/share/share.qbs +++ b/share/share.qbs @@ -14,6 +14,7 @@ Product { "android/**/*", "cplusplus/**/*", "debugger/**/*", + "debugger-with-python2/**/*", "designer/**/*", "glsl/**/*", "jsonschemas/**/*", @@ -35,6 +36,7 @@ Product { "qml-type-descriptions/qbs-bundle.json", "qml-type-descriptions/qbs.qmltypes", "debugger/**/__pycache__/*", + "debugger-with-python2/**/__pycache__/*", ] } From a8f74a011f31cd4f5a816d267a02b92539ecd73d Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 31 Jul 2024 16:45:03 +0200 Subject: [PATCH 13/24] Debugger: Fix potential crash When triggering context menu on locals, receiving an update for locals (e.g. still running fetch of locals finishes, expanding children,..) and triggering an action referring to a former now no more existing item. Close the menu on updates to avoid this scenario. Change-Id: I273bb85d497dfbaa257f267a866ea014a7e3b209 Reviewed-by: hjk --- src/plugins/debugger/watchhandler.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index c5600cd9ee8..888ca18abcf 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -1827,6 +1827,7 @@ bool WatchModel::contextMenuEvent(const ItemViewEvent &ev) menu->addAction(s.settingsDialog.action()); // useDebuggingHelpers/useDynamicType have no auto-apply, but need to be persisted on triggered + connect(this, &WatchModel::dataChanged, menu, &QMenu::close); connect(debugHelperAction, &QAction::triggered, &s.useDebuggingHelpers, &BoolAspect::writeSettings, Qt::UniqueConnection); connect(dynamicTypeAction, &QAction::triggered, From e47dd1d7657fc2ff863a69e3ea2623fa26962b8c Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 30 Jul 2024 12:42:12 +0200 Subject: [PATCH 14/24] FakeVim: Restrict tabstop size The default minimum of QSpinBox is 0 which is not allowed for vim's tabstop in general. It has to be some positive integer. Beside disallowing the unsupported value it also fixes some crash which could happen if using the zero as tabstop width. (div by zero) Fixes: QTCREATORBUG-28082 Change-Id: I8913b1c28b8ec239ecdf2306fe8861669ccb9d56 Reviewed-by: hjk --- src/plugins/fakevim/fakevimactions.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp index 35cdce0bafb..1146ac894b4 100644 --- a/src/plugins/fakevim/fakevimactions.cpp +++ b/src/plugins/fakevim/fakevimactions.cpp @@ -114,6 +114,7 @@ FakeVimSettings::FakeVimSettings() tabStop.setToolTip(Tr::tr("Vim tabstop option.")); #ifndef FAKEVIM_STANDALONE + tabStop.setRange(1, 99); backspace.setDisplayStyle(FvStringAspect::LineEditDisplay); isKeyword.setDisplayStyle(FvStringAspect::LineEditDisplay); From 22ab5f8be75674691eb85841af0800eb1f3d638f Mon Sep 17 00:00:00 2001 From: Mehdi Salem Date: Thu, 1 Aug 2024 13:57:32 +0200 Subject: [PATCH 15/24] Axivion: fix crash when creating issue table column links Some column data used for links may be optional and thus requires a null check before contructing the link to prevent QtCreator from crashing. Change-Id: I53f78d1335f5688cc4655838453fddaa61f9ffab Reviewed-by: Christian Stenger Reviewed-by: hjk --- src/plugins/axivion/axivionoutputpane.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/axivion/axivionoutputpane.cpp b/src/plugins/axivion/axivionoutputpane.cpp index fa15362e32d..be8655b5b2c 100644 --- a/src/plugins/axivion/axivionoutputpane.cpp +++ b/src/plugins/axivion/axivionoutputpane.cpp @@ -494,7 +494,7 @@ static QList linksForIssue(const std::map &i const QString &line) { QList columns; auto it = issueRow.find(path); - if (it != end) { + if (it != end && !it->second.isNull()) { Link link{ FilePath::fromUserInput(it->second.getString()) }; columns.append(findColumn(it->first)); it = issueRow.find(line); From 1977d1fa1923d1e473f1bdf81649f72b36068118 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 2 Aug 2024 08:11:30 +0200 Subject: [PATCH 16/24] Valgrind: Update error kinds Update the error kind enum to cover all known error types. Fixes: QTCREATORBUG-31376 Change-Id: Icae72edfa941c7f1e8cfc1bdd039d01ff44dc28d Reviewed-by: hjk --- src/plugins/valgrind/xmlprotocol/error.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/valgrind/xmlprotocol/error.h b/src/plugins/valgrind/xmlprotocol/error.h index a9dd3278b8f..209b3199482 100644 --- a/src/plugins/valgrind/xmlprotocol/error.h +++ b/src/plugins/valgrind/xmlprotocol/error.h @@ -38,7 +38,14 @@ enum MemcheckError Leak_PossiblyLost, Leak_StillReachable, Leak_IndirectlyLost, - ReallocSizeZero + ReallocSizeZero, + InvalidSize, + InvalidSizeAndAlignment, + InvalidAlignment, + MismatchedAllocateDeallocateSize, + MismatchedAllocateDeallocateAlignment, + FishyValue, + // CoreMemError // questionable, seems to be unlikely to happen }; Q_ENUM_NS(MemcheckError); From 908da97d2d2040d83359450cb0fa999bfffc5514 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 1 Aug 2024 15:24:44 +0200 Subject: [PATCH 17/24] CppEditor: Fix highlighting non-plain character literals Only string literals were considered so far. Properly consider character literals as well. Fixes: QTCREATORBUG-31342 Change-Id: I880546c1384f48ba9f81a6c6716e50fb7781cc11 Reviewed-by: Christian Stenger --- src/plugins/cppeditor/cpphighlighter.cpp | 19 ++++++++++++++++--- .../testcases/highlightingtestcase.cpp | 3 +++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp index ff8ebc53d3b..fd3ac2f4331 100644 --- a/src/plugins/cppeditor/cpphighlighter.cpp +++ b/src/plugins/cppeditor/cpphighlighter.cpp @@ -439,6 +439,9 @@ void CppHighlighter::highlightStringLiteral(QStringView text, const CPlusPlus::T case T_UTF8_STRING_LITERAL: case T_UTF16_STRING_LITERAL: case T_UTF32_STRING_LITERAL: + case T_WIDE_CHAR_LITERAL: + case T_UTF16_CHAR_LITERAL: + case T_UTF32_CHAR_LITERAL: break; default: if (!tk.userDefinedLiteral()) { // Simple case: No prefix, no suffix. @@ -448,16 +451,17 @@ void CppHighlighter::highlightStringLiteral(QStringView text, const CPlusPlus::T } } + const char quote = tk.isStringLiteral() ? '"' : '\''; int stringOffset = 0; if (!tk.f.joined) { - stringOffset = text.indexOf('"', tk.utf16charsBegin()); + stringOffset = text.indexOf(quote, tk.utf16charsBegin()); QTC_ASSERT(stringOffset > 0, return); setFormat(tk.utf16charsBegin(), stringOffset - tk.utf16charsBegin(), formatForCategory(C_KEYWORD)); } int operatorOffset = tk.utf16charsBegin() + tk.utf16chars(); if (tk.userDefinedLiteral()) { - const int closingQuoteOffset = text.lastIndexOf('"', operatorOffset); + const int closingQuoteOffset = text.lastIndexOf(quote, operatorOffset); QTC_ASSERT(closingQuoteOffset >= tk.utf16charsBegin(), return); operatorOffset = closingQuoteOffset + 1; } @@ -465,7 +469,10 @@ void CppHighlighter::highlightStringLiteral(QStringView text, const CPlusPlus::T formatForCategory(C_STRING)); if (const int operatorLength = tk.utf16charsBegin() + tk.utf16chars() - operatorOffset; operatorLength > 0) { - setFormat(operatorOffset, operatorLength, formatForCategory(C_OPERATOR)); + setFormat( + operatorOffset, + operatorLength, + formatForCategory(tk.userDefinedLiteral() ? C_OVERLOADED_OPERATOR : C_OPERATOR)); } } @@ -586,6 +593,12 @@ void CppHighlighterTest::test_data() << 49 << 1 << 49 << 1 << C_STRING; QTest::newRow("multi-line raw string literal with consecutive closing parens (suffix)") << 49 << 2 << 49 << 3 << C_KEYWORD; + QTest::newRow("wide char literal with user-defined suffix (prefix)") + << 73 << 16 << 73 << 16 << C_KEYWORD; + QTest::newRow("wide char literal with user-defined suffix (content)") + << 73 << 17 << 73 << 18 << C_STRING; + QTest::newRow("wide char literal with user-defined suffix (suffix)") + << 73 << 20 << 73 << 22 << C_OVERLOADED_OPERATOR; } void CppHighlighterTest::test() diff --git a/src/plugins/cppeditor/testcases/highlightingtestcase.cpp b/src/plugins/cppeditor/testcases/highlightingtestcase.cpp index 92b4e21a260..049bc42ecfb 100644 --- a/src/plugins/cppeditor/testcases/highlightingtestcase.cpp +++ b/src/plugins/cppeditor/testcases/highlightingtestcase.cpp @@ -68,3 +68,6 @@ static void parenTest2() } } + +wchar_t operator ""_wc(const wchar_t c) { return c; } +const auto c = L'c'_wc; From de4907d5b065bbceec022afeca43084db53021fa Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 30 Jul 2024 16:17:03 +0200 Subject: [PATCH 18/24] Doc: Fix some \page values - Remove a \previouspage reference to an obsolete topic - Make HTML filename of a page more informative - Do not use macros in HTML filenames (QDoc uses only the first word in the macro and omits the rest) - Use creator-how-tos.html as \previouspage for how-to topics Change-Id: I3727c3a6275b59810efcaf78db5b74dc22a81e5c Reviewed-by: Eike Ziller --- doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc | 2 +- .../src/editors/creator-only/creator-coding-edit-mode.qdoc | 2 +- .../src/linux-mobile/creator-projects-settings-run-b2qt.qdoc | 2 +- .../creator-only/creator-how-to-select-build-systems.qdoc | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index f941fda579e..26884aee027 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -8,7 +8,7 @@ // ********************************************************************** /*! - \previouspage creator-testing.html + \previouspage creator-configuring-projects.html \page creator-debugging.html \nextpage creator-debugger-engines.html diff --git a/doc/qtcreator/src/editors/creator-only/creator-coding-edit-mode.qdoc b/doc/qtcreator/src/editors/creator-only/creator-coding-edit-mode.qdoc index 9bbfe729d93..7f2d57e8eb3 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-coding-edit-mode.qdoc +++ b/doc/qtcreator/src/editors/creator-only/creator-coding-edit-mode.qdoc @@ -469,7 +469,7 @@ */ /*! - \page creator-how-to.html + \page creator-how-to-insert-multiple-cursors.html \previouspage creator-how-tos.html \ingroup creator-how-to-edit diff --git a/doc/qtcreator/src/linux-mobile/creator-projects-settings-run-b2qt.qdoc b/doc/qtcreator/src/linux-mobile/creator-projects-settings-run-b2qt.qdoc index 01eb71f171f..ff05251fe30 100644 --- a/doc/qtcreator/src/linux-mobile/creator-projects-settings-run-b2qt.qdoc +++ b/doc/qtcreator/src/linux-mobile/creator-projects-settings-run-b2qt.qdoc @@ -2,7 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! - \page creator-run-settings-\B2Q.html + \page creator-run-settings-b2qt.html \previouspage creator-reference.html \ingroup creator-reference-run-configurations diff --git a/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc b/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc index 1add6213144..2458cb4db72 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc @@ -2,9 +2,8 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! - \previouspage creator-project-creating.html \page creator-how-to-select-build-system.html - \nextpage creator-file-creating.html + \previouspage creator-how-tos.html \ingroup creator-how-to-projects-create From c1316e998e39ceb9565fbe31454c162920c20a45 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 2 Aug 2024 10:28:29 +0200 Subject: [PATCH 19/24] Debugger: Fix dumper for Qt4 Creator 14.0.0 effectively assumed "less then Qt 6 is Qt 5", even if it is (incompatible) Qt 4. We are now falling back to the expensive version extraction for anything less then Qt 6 but it gets the distinction between 4 and 5 right again. The check (once per debugger session) happens now unconditionally again for Qt 5 and earlier and is arguably a performance regression for Qt 5 / Creator 14 users, but it's not worse then Creator 13 where we didn't have the shortcut mechanism For master we should consider extending the qtVersionPing() to also provide a cheap distinction between Qt 4 and Qt 5. Change-Id: I4073395280fdf137e89c834bf014b9f31d74a1cd Fixes: QTCREATORBUG-31355 Reviewed-by: Christian Stenger --- share/qtcreator/debugger/dumper.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 8aa89cc0901..97dfc9fbee5 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -288,8 +288,6 @@ class DumperBase(): # A hack to cover most of the changes from Qt 5 to 6 if version == 0x60000 and self.qtversionAtLeast6 is not None: return self.qtversionAtLeast6 - if version == 0x50000: # FIXME: This drops unknown 4.x for now - return True return self.qtVersion() >= version def qtVersionPing(self, typeid, size_for_qt5=-1): From b56716086174ae1b0eeb3942028086133c8a9c15 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 5 Aug 2024 09:39:50 +0200 Subject: [PATCH 20/24] Add change log for 14.0.1 Change-Id: Ibadb42dad843f3340c46b099fef177ea0296ec12 Reviewed-by: Eike Ziller --- dist/changelog/changes-14.0.1.md | 92 ++++++++++++++++++++++++++++++++ dist/changelog/template.md | 9 ++-- 2 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 dist/changelog/changes-14.0.1.md diff --git a/dist/changelog/changes-14.0.1.md b/dist/changelog/changes-14.0.1.md new file mode 100644 index 00000000000..ba34bb30ad5 --- /dev/null +++ b/dist/changelog/changes-14.0.1.md @@ -0,0 +1,92 @@ +Qt Creator 14.0.1 +================= + +Qt Creator version 14.0.1 contains bug fixes. + +The most important changes are listed in this document. For a complete list of +changes, see the Git log for the Qt Creator sources that you can check out from +the public Git repository. For example: + + + +General +------- + +* Fixed wrong colors when using a light theme on a dark system + ([QTCREATORBUG-31226](https://bugreports.qt.io/browse/QTCREATORBUG-31226)) + +Editing +------- + +* Fixed a crash when selecting a context menu item for an editor that was + closed in the meantime + ([QTCREATORBUG-31232](https://bugreports.qt.io/browse/QTCREATORBUG-31232)) + +### C++ + +* Fixed a crash in the type hierarchy builder + ([QTCREATORBUG-31318](https://bugreports.qt.io/browse/QTCREATORBUG-31318)) +* Fixed the highlighting of non-plain character literals + ([QTCREATORBUG-31342](https://bugreports.qt.io/browse/QTCREATORBUG-31342)) + +### QML + +* Fixed that context help could show help from the wrong module + ([QTCREATORBUG-31280](https://bugreports.qt.io/browse/QTCREATORBUG-31280)) + +### FakeVim + +* Fixed that invalid values could be set for the tabstop size + ([QTCREATORBUG-28082](https://bugreports.qt.io/browse/QTCREATORBUG-28082)) + +Projects +-------- + +### CMake + +* Fixed the application of changes to the `Initial Arguments` + ([QTCREATORBUG-31320](https://bugreports.qt.io/browse/QTCREATORBUG-31320)) + +Debugging +--------- + +### C++ + +* Fixed pretty printing for Qt 4 + ([QTCREATORBUG-31355](https://bugreports.qt.io/browse/QTCREATORBUG-31355)) + +Analyzer +-------- + +### Axivion + +* Fixed a crash when creating links from the issues table to column data + +### Valgrind + +* Fixed missing error kinds for newer Valgrind versions in the parser + ([QTCREATORBUG-31376](https://bugreports.qt.io/browse/QTCREATORBUG-31376)) + +Platforms +--------- + +### Docker + +* Fixed a crash when adding a Docker device while an application is running + on a Docker device + ([QTCREATORBUG-31364](https://bugreports.qt.io/browse/QTCREATORBUG-31364)) + +Credits for these changes go to: +-------------------------------- +Alessandro Portale +Alexandre Laurent +André Pönitz +Andrew Shark +Christian Kandeler +Christian Stenger +Cristian Adam +Eike Ziller +Leena Miettinen +Marco Bubke +Marcus Tillmanns +Mehdi Salem diff --git a/dist/changelog/template.md b/dist/changelog/template.md index 66e94906aea..e6a4b2fcb31 100644 --- a/dist/changelog/template.md +++ b/dist/changelog/template.md @@ -5,10 +5,9 @@ Qt Creator version 13 contains bug fixes and new features. The most important changes are listed in this document. For a complete list of changes, see the Git log for the Qt Creator sources that you can check out from -the public Git repository. For example: +the public Git repository or view online at - git clone git://code.qt.io/qt-creator/qt-creator.git - git log --cherry-pick --pretty=oneline origin/12.0..v13.0.0 + New plugins ----------- @@ -46,6 +45,8 @@ Editing ### SCXML +### FakeVim + ### Binary Files Projects @@ -83,6 +84,8 @@ Analyzer ### CTF Visualizer +### Valgrind + ### Cppcheck Terminal From cad822dfe566b5759b161bff750926200ab25f9e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 6 Aug 2024 10:47:35 +0200 Subject: [PATCH 21/24] Dumper: Silence debug output Left-over from refactorings. Change-Id: Ib37e04e5ea7ab9269bda98dc052e3fae1a862187 Reviewed-by: hjk --- share/qtcreator/debugger/dumper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 97dfc9fbee5..a9427b2c608 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -494,7 +494,7 @@ class DumperBase(): native_type = self.lookupNativeType(typename) if native_type is None: #sCANNOT DETERMINE SIZE FOR TYelf.dump_location() - self.dump_location() + #self.dump_location() self.warn("TYPEIDS: %s" % self.typeid_cache) self.warn("COULD NOT FIND TYPE '%s'" % typename) return None @@ -1068,7 +1068,7 @@ class DumperBase(): def check(self, exp): if not exp: self.warn('Check failed: %s' % exp) - self.dump_location() + #self.dump_location() raise RuntimeError('Check failed: %s' % exp) def check_typeid(self, typeid): From ac03c58c85b9a238ec16e7b72596fe1d4d1d466f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 2 Aug 2024 09:48:44 +0200 Subject: [PATCH 22/24] Qt Designer Plugin: Set the active Qt version on the integration Set the Qt version as a property on QDesignerIntegration on form window change or when saving for Qt Designer to know which version to write. Task-number: PYSIDE-2492 Task-number: QTBUG-118473 Task-number: QTBUG-127179 Change-Id: I1281287147e8d4108a321570785c0287ef18230c Reviewed-by: Jarek Kobus --- src/plugins/designer/formwindowfile.cpp | 5 ++ src/plugins/designer/qtcreatorintegration.cpp | 55 +++++++++++++++++++ src/plugins/designer/qtcreatorintegration.h | 11 ++++ 3 files changed, 71 insertions(+) diff --git a/src/plugins/designer/formwindowfile.cpp b/src/plugins/designer/formwindowfile.cpp index c4b59131e53..aab54d96313 100644 --- a/src/plugins/designer/formwindowfile.cpp +++ b/src/plugins/designer/formwindowfile.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "formwindowfile.h" +#include "qtcreatorintegration.h" #include "designerconstants.h" #include "resourcehandler.h" @@ -230,6 +231,10 @@ bool FormWindowFile::writeFile(const Utils::FilePath &filePath, QString *errorSt { if (Designer::Constants::Internal::debug) qDebug() << Q_FUNC_INFO << this->filePath() << filePath; + auto *integration = qobject_cast(m_formWindow->core()->integration()); + Q_ASSERT(integration); + if (!integration->setQtVersionFromFile(filePath)) + integration->resetQtVersion(); return write(filePath, format(), m_formWindow->contents(), errorString); } diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp index 5e6d8900959..d0b80e66360 100644 --- a/src/plugins/designer/qtcreatorintegration.cpp +++ b/src/plugins/designer/qtcreatorintegration.cpp @@ -37,6 +37,8 @@ #include #include +#include + #include #include #include @@ -44,16 +46,20 @@ #include #include +#include #include #include #include #include +#include #include #include #include +#include #include #include +#include Q_LOGGING_CATEGORY(log, "qtc.designer", QtWarningMsg); @@ -83,6 +89,17 @@ static void reportRenamingError(const QString &oldName, const QString &reason) .arg(oldName, reason)); } +static std::optional qtVersionFromProject(const Project *project) +{ + if (const auto *target = project->activeTarget()) { + if (const auto *kit = target->kit(); kit->isValid()) { + if (const auto *qtVersion = QtSupport::QtKitAspect::qtVersion(kit)) + return qtVersion->qtVersion(); + } + } + return std::nullopt; +} + class QtCreatorIntegration::Private { public: @@ -142,6 +159,10 @@ QtCreatorIntegration::QtCreatorIntegration(QDesignerFormEditorInterface *core, Q } } }); + + auto *fwm = core->formWindowManager(); + connect(fwm, &QDesignerFormWindowManagerInterface::activeFormWindowChanged, + this, &QtCreatorIntegration::slotActiveFormWindowChanged); } QtCreatorIntegration::~QtCreatorIntegration() @@ -432,6 +453,40 @@ static ClassDocumentPtrPair return ClassDocumentPtrPair(0, Document::Ptr()); } +void QtCreatorIntegration::slotActiveFormWindowChanged(QDesignerFormWindowInterface *formWindow) +{ + if (formWindow == nullptr + || !setQtVersionFromFile(Utils::FilePath::fromString(formWindow->fileName()))) { + resetQtVersion(); + } +} + +// Set the file's Qt version on the integration for Qt Designer to write +// it out in the appropriate format (PYSIDE-2492, scoped enum support). +bool QtCreatorIntegration::setQtVersionFromFile(const Utils::FilePath &filePath) +{ + if (const auto *uiProject = ProjectManager::projectForFile(filePath)) { + if (auto versionOpt = qtVersionFromProject(uiProject)) { + setQtVersion(versionOpt.value()); + return true; + } + } + return false; +} + +#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0) +// FIXME: To be replaced by a real property setter on QDesignerIntegration +void QtCreatorIntegration::setQtVersion(const QVersionNumber &version) +{ + setProperty("qtVersion", QVariant::fromValue(version)); +} +#endif // < 6.9 + +void QtCreatorIntegration::resetQtVersion() +{ + setQtVersion(QLibraryInfo::version()); +} + void QtCreatorIntegration::slotNavigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames) { diff --git a/src/plugins/designer/qtcreatorintegration.h b/src/plugins/designer/qtcreatorintegration.h index 31e3cdcb32c..1f1496e7360 100644 --- a/src/plugins/designer/qtcreatorintegration.h +++ b/src/plugins/designer/qtcreatorintegration.h @@ -8,8 +8,11 @@ QT_BEGIN_NAMESPACE class QUrl; +class QVersionNumber; QT_END_NAMESPACE +namespace Utils { class FilePath; } + namespace Designer { namespace Internal { @@ -27,10 +30,14 @@ public: void updateSelection() override; + bool setQtVersionFromFile(const Utils::FilePath &filePath); + void resetQtVersion(); + signals: void creatorHelpRequested(const QUrl &url); private: + void slotActiveFormWindowChanged(QDesignerFormWindowInterface *formWindow); void slotNavigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames); void slotDesignerHelpRequested(const QString &manual, const QString &document); void slotSyncSettingsToDesigner(); @@ -44,6 +51,10 @@ private: void handleSymbolRenameStage2(QDesignerFormWindowInterface *formWindow, const QString &newName, const QString &oldName); +#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0) + void setQtVersion(const QVersionNumber &version); +#endif + class Private; Private * const d; }; From 35b36b37d450fbffa173ac7ec8020ec4eaf8ec60 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 6 Aug 2024 11:52:58 +0200 Subject: [PATCH 23/24] Lua: Silence soft assert Change-Id: I69a1b9b1dd4099beccea26c16f5aceb5a9dbf5ff Reviewed-by: Marcus Tillmanns --- src/plugins/lua/bindings/fetch.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/lua/bindings/fetch.cpp b/src/plugins/lua/bindings/fetch.cpp index 6f5fd535612..3b6d7fd206a 100644 --- a/src/plugins/lua/bindings/fetch.cpp +++ b/src/plugins/lua/bindings/fetch.cpp @@ -74,6 +74,7 @@ void addFetchModule() Module() { setSettingsGroup("Lua.Fetch"); + setAutoApply(false); pluginsAllowedToFetch.setSettingsKey("pluginsAllowedToFetch"); pluginsAllowedToFetch.setLabelText("Plugins allowed to fetch data from the internet"); From 6ab5981a586cf71e9e2096eef0ba2c2ee73fa26b Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 6 Aug 2024 14:26:21 +0200 Subject: [PATCH 24/24] Fix developer documentation warnings With qdoc from Qt 6.8 Change-Id: I8884a53e81e28e2f801f9a76bf9cc082cb831678 Reviewed-by: hjk --- src/libs/extensionsystem/iplugin.cpp | 2 +- src/libs/solutions/tasking/tasktree.cpp | 36 +++++++++---------- src/libs/utils/qrcparser.cpp | 4 +-- src/libs/utils/textfileformat.cpp | 11 +++--- .../dialogs/readonlyfilesdialog.cpp | 2 +- .../editormanager/editormanager.cpp | 2 +- src/plugins/coreplugin/idocument.cpp | 10 +++--- src/plugins/coreplugin/imode.cpp | 12 +++---- src/plugins/coreplugin/ioutputpane.cpp | 2 +- .../coreplugin/locator/ilocatorfilter.cpp | 3 +- 10 files changed, 43 insertions(+), 41 deletions(-) diff --git a/src/libs/extensionsystem/iplugin.cpp b/src/libs/extensionsystem/iplugin.cpp index a7d35a0c4db..7365e4908c4 100644 --- a/src/libs/extensionsystem/iplugin.cpp +++ b/src/libs/extensionsystem/iplugin.cpp @@ -30,7 +30,7 @@ */ /*! - \enum IPlugin::ShutdownFlag + \enum ExtensionSystem::IPlugin::ShutdownFlag This enum type holds whether the plugin is shut down synchronously or asynchronously. diff --git a/src/libs/solutions/tasking/tasktree.cpp b/src/libs/solutions/tasking/tasktree.cpp index 91bdaf2d9e1..7d482db3e98 100644 --- a/src/libs/solutions/tasking/tasktree.cpp +++ b/src/libs/solutions/tasking/tasktree.cpp @@ -629,19 +629,19 @@ private: */ /*! - \typealias CustomTask::Task + \typealias Tasking::CustomTask::Task Type alias for the task type associated with the custom task's \c Adapter. */ /*! - \typealias CustomTask::Deleter + \typealias Tasking::CustomTask::Deleter Type alias for the task's type deleter associated with the custom task's \c Adapter. */ /*! - \typealias CustomTask::TaskSetupHandler + \typealias Tasking::CustomTask::TaskSetupHandler Type alias for \c std::function. @@ -676,7 +676,7 @@ private: */ /*! - \typealias CustomTask::TaskDoneHandler + \typealias Tasking::CustomTask::TaskDoneHandler Type alias for \c std::function or DoneResult. @@ -865,7 +865,7 @@ private: */ /*! - \variable sequential + \variable Tasking::sequential A convenient global group's element describing the sequential execution mode. This is the default execution mode of the Group element. @@ -880,7 +880,7 @@ private: */ /*! - \variable parallel + \variable Tasking::parallel A convenient global group's element describing the parallel execution mode. All the direct child tasks of a group are started after the group is started, @@ -891,7 +891,7 @@ private: */ /*! - \variable parallelIdealThreadCountLimit + \variable Tasking::parallelIdealThreadCountLimit A convenient global group's element describing the parallel execution mode with a limited number of tasks running simultanously. The limit is equal to the ideal number of threads excluding the calling thread. @@ -905,39 +905,39 @@ private: */ /*! - \variable stopOnError + \variable Tasking::stopOnError A convenient global group's element describing the StopOnError workflow policy. This is the default workflow policy of the Group element. */ /*! - \variable continueOnError + \variable Tasking::continueOnError A convenient global group's element describing the ContinueOnError workflow policy. */ /*! - \variable stopOnSuccess + \variable Tasking::stopOnSuccess A convenient global group's element describing the StopOnSuccess workflow policy. */ /*! - \variable continueOnSuccess + \variable Tasking::continueOnSuccess A convenient global group's element describing the ContinueOnSuccess workflow policy. */ /*! - \variable stopOnSuccessOrError + \variable Tasking::stopOnSuccessOrError A convenient global group's element describing the StopOnSuccessOrError workflow policy. */ /*! - \variable finishAllAndSuccess + \variable Tasking::finishAllAndSuccess A convenient global group's element describing the FinishAllAndSuccess workflow policy. */ /*! - \variable finishAllAndError + \variable Tasking::finishAllAndError A convenient global group's element describing the FinishAllAndError workflow policy. */ @@ -1028,7 +1028,7 @@ private: */ /*! - \typealias GroupItem::GroupSetupHandler + \typealias Tasking::GroupItem::GroupSetupHandler Type alias for \c std::function. @@ -1058,7 +1058,7 @@ private: */ /*! - \typealias GroupItem::GroupDoneHandler + \typealias Tasking::GroupItem::GroupDoneHandler Type alias for \c std::function or DoneResult. @@ -3407,13 +3407,13 @@ void TimeoutTaskAdapter::start() } /*! - \typealias TaskTreeTask + \typealias Tasking::TaskTreeTask Type alias for the CustomTask, to be used inside recipes, associated with the TaskTree task. */ /*! - \typealias TimeoutTask + \typealias Tasking::TimeoutTask Type alias for the CustomTask, to be used inside recipes, associated with the \c std::chrono::milliseconds type. \c std::chrono::milliseconds is used to set up the diff --git a/src/libs/utils/qrcparser.cpp b/src/libs/utils/qrcparser.cpp index 5b27cac49fa..2f9671592d6 100644 --- a/src/libs/utils/qrcparser.cpp +++ b/src/libs/utils/qrcparser.cpp @@ -93,12 +93,12 @@ private: */ /*! - \typedef QrcParser::Ptr + \typedef Utils::QrcParser::Ptr Represents pointers. */ /*! - \typedef QrcParser::ConstPtr + \typedef Utils::QrcParser::ConstPtr Represents constant pointers. */ diff --git a/src/libs/utils/textfileformat.cpp b/src/libs/utils/textfileformat.cpp index 0fea53720f3..9257931b143 100644 --- a/src/libs/utils/textfileformat.cpp +++ b/src/libs/utils/textfileformat.cpp @@ -216,9 +216,9 @@ TextFileFormat::ReadResult readTextFile(const FilePath &filePath, const QTextCod Reads a text file from \a filePath into a list of strings, \a plainTextList using \a defaultCodec and text file format \a format. - Returns whether decoding was possible without errors. If errors occur, - returns an error message, \a errorString and a sample error, - \a decodingErrorSample. + Returns whether decoding was possible without errors. If an errors occur + \a errorString is set to the error message, and \a decodingErrorSample is + set to a snippet that failed to decode. */ TextFileFormat::ReadResult @@ -239,8 +239,9 @@ TextFileFormat::ReadResult Reads a text file from \a filePath into a string, \a plainText using \a defaultCodec and text file format \a format. - Returns whether decoding was possible without errors. - + Returns whether decoding was possible without errors. If an errors occur + \a errorString is set to the error message, and \a decodingErrorSample is + set to a snippet that failed to decode. */ TextFileFormat::ReadResult diff --git a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp index 88431454fef..5a06598a383 100644 --- a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp +++ b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp @@ -129,7 +129,7 @@ using namespace Internal; * name. */ -/*! \enum ReadOnlyFilesDialog::ReadOnlyResult +/*! \enum Core::ReadOnlyFilesDialog::ReadOnlyResult This enum holds the operations that are allowed to make the file writable. \value RO_Cancel diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 55c3dcdd3b3..91871b20e16 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -208,7 +208,7 @@ void EditorManagerPlaceHolder::showEvent(QShowEvent *) */ /*! - \enum EditorManager::OpenEditorFlag + \enum Core::EditorManager::OpenEditorFlag This enum specifies settings for opening a file in an editor. diff --git a/src/plugins/coreplugin/idocument.cpp b/src/plugins/coreplugin/idocument.cpp index d16f284b4a4..ff766f60697 100644 --- a/src/plugins/coreplugin/idocument.cpp +++ b/src/plugins/coreplugin/idocument.cpp @@ -72,7 +72,7 @@ */ /*! - \enum IDocument::OpenResult + \enum Core::IDocument::OpenResult The OpenResult enum describes whether a file was successfully opened. @@ -87,13 +87,13 @@ */ /*! - \enum IDocument::ReloadSetting + \enum Core::IDocument::ReloadSetting \internal */ /*! - \enum IDocument::ChangeTrigger + \enum Core::IDocument::ChangeTrigger The ChangeTrigger enum describes whether a file was changed from \QC internally or from the outside. @@ -107,7 +107,7 @@ */ /*! - \enum IDocument::ChangeType + \enum Core::IDocument::ChangeType The ChangeType enum describes the way in which the file changed. @@ -121,7 +121,7 @@ */ /*! - \enum IDocument::ReloadFlag + \enum Core::IDocument::ReloadFlag The ReloadFlag enum describes if a file should be reloaded from disk. diff --git a/src/plugins/coreplugin/imode.cpp b/src/plugins/coreplugin/imode.cpp index dce4d4a7574..695661496c6 100644 --- a/src/plugins/coreplugin/imode.cpp +++ b/src/plugins/coreplugin/imode.cpp @@ -63,7 +63,7 @@ public: */ /*! - \property IMode::enabled + \property Core::IMode::enabled This property holds whether the mode is enabled. @@ -71,7 +71,7 @@ public: */ /*! - \property IMode::displayName + \property Core::IMode::displayName This property holds the display name of the mode. @@ -79,7 +79,7 @@ public: */ /*! - \property IMode::icon + \property Core::IMode::icon This property holds the icon of the mode. @@ -88,7 +88,7 @@ public: */ /*! - \property IMode::priority + \property Core::IMode::priority This property holds the priority of the mode. @@ -99,13 +99,13 @@ public: */ /*! - \property IMode::id + \property Core::IMode::id This property holds the ID of the mode. */ /*! - \property IMode::menu + \property Core::IMode::menu This property holds the mode's menu. diff --git a/src/plugins/coreplugin/ioutputpane.cpp b/src/plugins/coreplugin/ioutputpane.cpp index d10c55eaad0..1914239e1d7 100644 --- a/src/plugins/coreplugin/ioutputpane.cpp +++ b/src/plugins/coreplugin/ioutputpane.cpp @@ -17,7 +17,7 @@ namespace Core { */ /*! - \enum IOutputPane::Flag + \enum Core::IOutputPane::Flag This enum type controls the behavior of the output pane when it is requested to show itself. diff --git a/src/plugins/coreplugin/locator/ilocatorfilter.cpp b/src/plugins/coreplugin/locator/ilocatorfilter.cpp index 6a32b294a3d..4e1ebe33031 100644 --- a/src/plugins/coreplugin/locator/ilocatorfilter.cpp +++ b/src/plugins/coreplugin/locator/ilocatorfilter.cpp @@ -884,7 +884,8 @@ void ILocatorFilter::setConfigurable(bool configurable) /*! Shows the standard configuration dialog with options for the prefix string - and for isIncludedByDefault(). The \a additionalWidget is added at the top. + and for isIncludedByDefault(). \a parent is used as the dialog's parent. + The \a additionalWidget is added at the top. Ownership of \a additionalWidget stays with the caller, but its parent is reset to \c nullptr.