From 52305ae1aee427e7223b611bfdd86c539b428b2b Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 19 Jan 2024 17:10:12 +0100 Subject: [PATCH 01/13] QnxDevice: Set SourceProfile to true by default Task-number: QTCREATORBUG-30193 Change-Id: Ia55ad575bc4e62f7ff9e71263c467c089eb092ed Reviewed-by: hjk --- src/plugins/qnx/qnxdevice.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/qnx/qnxdevice.cpp b/src/plugins/qnx/qnxdevice.cpp index 5083fbb782a..7352e79c919 100644 --- a/src/plugins/qnx/qnxdevice.cpp +++ b/src/plugins/qnx/qnxdevice.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -71,6 +72,7 @@ public: sshParams.timeout = 10; setSshParameters(sshParams); setFreePorts(PortList::fromString("10000-10100")); + setExtraData(RemoteLinux::Constants::SourceProfile, true); addDeviceAction({Tr::tr("Deploy Qt libraries..."), [](const IDevice::Ptr &device, QWidget *parent) { QnxDeployQtLibrariesDialog dialog(device, parent); From 6015344669c33d2c47652b54ece901e769d7fa7c Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 19 Jan 2024 11:22:32 +0100 Subject: [PATCH 02/13] Update qbs submodule to HEAD of 2.2 branch Change-Id: I07074033bbed864d9986d1615f9d0352c47a85da Reviewed-by: Christian Stenger Reviewed-by: Qt CI Bot --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index aa044048f0b..0592a8709b4 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit aa044048f0b3573ddda09d1b7a4483af9eed3de4 +Subproject commit 0592a8709b4801b044c9324a41b1c253a2e09a5e From 2c78f260d4dc683bf70b87f12456a54995bff91e Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 19 Jan 2024 11:33:45 +0100 Subject: [PATCH 03/13] Fix some compler warnings 1x warning: lambda capture 'this' is not used [-Wunused-lambda-capture] 2x warning: class with destructor marked 'final' cannot be inherited from [-Wfinal-dtor-non-final-class] Change-Id: I762fbe935156de9600064512bc405c6f4b2b1477 Reviewed-by: Eike Ziller --- src/plugins/fakevim/fakevimplugin.cpp | 2 +- src/plugins/fossil/configuredialog.h | 2 +- src/plugins/haskell/haskellplugin.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 8cb623c0879..bed990c0511 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -1048,7 +1048,7 @@ void FakeVimPluginPrivate::initialize() INSTALL_HANDLER, Context(Core::Constants::C_GLOBAL), true); cmd->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+Shift+Y,Meta+Shift+Y") : Tr::tr("Alt+Y,Alt+Y"))); - connect(cmd->action(), &QAction::triggered, [this] { settings().writeSettings(); }); + connect(cmd->action(), &QAction::triggered, [] { settings().writeSettings(); }); ActionContainer *advancedMenu = ActionManager::actionContainer(Core::Constants::M_EDIT_ADVANCED); diff --git a/src/plugins/fossil/configuredialog.h b/src/plugins/fossil/configuredialog.h index 9fc0ea652db..eddc15d4757 100644 --- a/src/plugins/fossil/configuredialog.h +++ b/src/plugins/fossil/configuredialog.h @@ -11,7 +11,7 @@ namespace Internal { struct RepositorySettings; class ConfigureDialogPrivate; -class ConfigureDialog : public QDialog +class ConfigureDialog final : public QDialog { Q_OBJECT diff --git a/src/plugins/haskell/haskellplugin.h b/src/plugins/haskell/haskellplugin.h index acae0d2001a..041681dcbc1 100644 --- a/src/plugins/haskell/haskellplugin.h +++ b/src/plugins/haskell/haskellplugin.h @@ -10,7 +10,7 @@ namespace Haskell { namespace Internal { -class HaskellPlugin : public ExtensionSystem::IPlugin +class HaskellPlugin final : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Haskell.json") From 1a29f87440c996eb969c57028471c1aba04a5309 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 22 Jan 2024 17:15:26 +0100 Subject: [PATCH 04/13] Doc: Fix the location of the "Request Copilot Suggestion" action It is in the locator, not in the context menu. Fixes: QTCREATORBUG-30227 Change-Id: I35bea968a936e8872cdadcec3b8f53559e654c94 Reviewed-by: Reviewed-by: Marcus Tillmanns --- doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc b/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc index 6717a526199..3b1649d11c0 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc +++ b/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc @@ -77,7 +77,8 @@ \image qtcreator-copilot.gif {Receiving suggestions from Copilot in the editor} To manually request a suggestion at the current editor's cursor position, - select \uicontrol {Request Copilot Suggestion} in the context menu. + enter \uicontrol {t} (\uicontrol {Request Copilot Suggestion}) in the + \l{Searching with the Locator}{locator}. Hover the mouse over a suggestion to show a toolbar with \inlineimage icons/prev.png From 7b04bdf491bc661fd508d33aa1d4e650c50e9811 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Jan 2024 08:10:38 -0800 Subject: [PATCH 05/13] CPlusPlus: deal with QByteArray::(c)begin() return nullptr You should either use begin() and end(), or data() and size(), and either way you shouldn't dereference the first iterator if the size is zero. Roberto's parser in 3rdparty/cplusplus assumes you've passed at least one character (I'm guessing the null terminator) and does pointer manipulation there: void Lexer::setSource(const char *firstChar, const char *lastChar) { _firstChar = firstChar; _lastChar = lastChar; _currentChar = _firstChar - 1; _currentCharUtf16 = ~0; _tokenStart = _currentChar; _yychar = '\n'; } Note the _firstChar - 1 math is technically UB if firstChar is the actual first character of any buffer allocation or string. Fixes: QTCREATORBUG-30044 Change-Id: I76ffba14ece04f24b43efffd17abcb8102497813 Reviewed-by: Christian Kandeler --- src/libs/3rdparty/cplusplus/TranslationUnit.cpp | 2 ++ src/libs/cplusplus/CppDocument.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/3rdparty/cplusplus/TranslationUnit.cpp b/src/libs/3rdparty/cplusplus/TranslationUnit.cpp index 848f61285cb..e680ee2660e 100644 --- a/src/libs/3rdparty/cplusplus/TranslationUnit.cpp +++ b/src/libs/3rdparty/cplusplus/TranslationUnit.cpp @@ -27,6 +27,7 @@ #include "Literals.h" #include "DiagnosticClient.h" +#include "cppassert.h" #include #include @@ -87,6 +88,7 @@ int TranslationUnit::sourceLength() const void TranslationUnit::setSource(const char *source, int size) { + CPP_CHECK(source); _firstSourceChar = source; _lastSourceChar = source + size; } diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 6dc59bf1bf1..c7454589aa7 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -527,7 +527,7 @@ Document::Ptr Document::create(const FilePath &filePath) void Document::setUtf8Source(const QByteArray &source) { _source = source; - _translationUnit->setSource(_source.constBegin(), _source.size()); + _translationUnit->setSource(_source.constData(), _source.size()); } LanguageFeatures Document::languageFeatures() const From 6d7387f1aaeb7f461c96855a462301ce2c661585 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 23 Jan 2024 17:05:49 +0100 Subject: [PATCH 06/13] CppEditor: Fix restoring per-project cpp file name settings Another victim of Utils::Store. Also add missing initialization of "is global" state. Change-Id: I3d20e1403795366044d3b2df552f2a5947ba8c98 Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: hjk --- src/plugins/cppeditor/cppfilesettingspage.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/cppeditor/cppfilesettingspage.cpp b/src/plugins/cppeditor/cppfilesettingspage.cpp index f9e83e4719b..9e2e119c97e 100644 --- a/src/plugins/cppeditor/cppfilesettingspage.cpp +++ b/src/plugins/cppeditor/cppfilesettingspage.cpp @@ -489,7 +489,7 @@ void CppFileSettingsForProject::loadSettings() if (!entry.isValid()) return; - const QVariantMap data = entry.toMap(); + const QVariantMap data = mapEntryFromStoreEntry(entry).toMap(); m_useGlobalSettings = data.value(useGlobalKeyC, true).toBool(); m_customSettings.headerPrefixes = data.value(headerPrefixesKeyC, m_customSettings.headerPrefixes).toStringList(); @@ -553,6 +553,8 @@ CppFileSettingsForProjectWidget::CppFileSettingsForProjectWidget( const CppFileSettingsForProject &settings) : d(new Private(settings)) { setGlobalSettingsId(Constants::CPP_FILE_SETTINGS_ID); + setUseGlobalSettings(settings.useGlobalSettings()); + const auto layout = new QVBoxLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(&d->widget); From f68a0ca7380caf3c4d8e0816dc2a3fcd4e1f4220 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 22 Jan 2024 16:13:34 +0100 Subject: [PATCH 07/13] ProjectExplorer: Fix handling of -Xclang when filtering compiler flags Amends fd47b37298827c399bc1e40774aeb0372c1d5735. Change-Id: Idb78ebb88291d26498a5bfd7301fdc721fc6a6f7 Reviewed-by: Qt CI Bot Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/gcctoolchain.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 78b5ba4737a..372bce09e24 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -483,6 +483,7 @@ static QStringList filteredFlags(const QStringList &allFlags, bool considerSysro filtered << a << allFlags.at(i); } else if (a == "-Xclang") { filtered << a; + continue; } else if ((considerSysroot && (a == "--sysroot" || a == "-isysroot")) || a == "-D" || a == "-U" || a == "-gcc-toolchain" || a == "-target" || a == "-mllvm" || a == "-isystem") { @@ -499,6 +500,8 @@ static QStringList filteredFlags(const QStringList &allFlags, bool considerSysro || a == "-nostdinc" || a == "-nostdinc++") { filtered << a; } + if (!filtered.isEmpty() && filtered.last() == "-Xclang") + filtered.removeLast(); } return filtered; } From c05ad8b4461575a68eed7b1cffb6edd68ffa0ba5 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Wed, 24 Jan 2024 07:43:26 +0100 Subject: [PATCH 08/13] CMakePM: Fix bad "path" backtrace generation CMake can generate backgraces with absolute paths, and the commit 246f33c20d1f9589a891223c820d009212d8bb00 removed this support from Qt Creator. This commit fixes this issue with absolute paths. Fixes: QTCREATORBUG-29914 Change-Id: Ib911e80aee1ff9f4a26435f7e693f7766551cc90 Reviewed-by: Marcus Tillmanns Reviewed-by: --- src/plugins/cmakeprojectmanager/fileapidataextractor.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index 70e5900dfcb..7ad7cdd0c54 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -181,8 +181,7 @@ static QVector extractBacktraceInformation( const size_t fileIndex = static_cast(btNode.file); QTC_ASSERT(fileIndex < backtraces.files.size(), break); - const FilePath path = sourceDir.pathAppended(backtraces.files[fileIndex]).absoluteFilePath(); - + const FilePath path = sourceDir.resolvePath(backtraces.files[fileIndex]); if (btNode.command < 0) { // No command, skip: The file itself is already covered:-) continue; From 0e4af4b8807e781088f3b0b9d8c8e05b9008c1d1 Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Mon, 22 Jan 2024 14:00:28 +0100 Subject: [PATCH 09/13] Register AutotoolsProject as handler for Makefiles again 95a3087a7b3 dropped the mime type registration by accident. Add it back to make the plugin functional again. Signed-off-by: Fabian Vogt Change-Id: I783429ce7883bad8b946ed1599098751d56cabad Reviewed-by: hjk Reviewed-by: Eike Ziller Reviewed-by: Qt CI Bot --- src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp index 7dd53126506..6a93f4b08d1 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp @@ -91,6 +91,7 @@ class AutotoolsProjectPlugin final : public ExtensionSystem::IPlugin void initialize() final { + ProjectManager::registerProjectType(Constants::MAKEFILE_MIMETYPE); d = std::make_unique(); } From 0197a2780a3bb24bc258f9b74709de85b6a9c937 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 19 Jan 2024 15:08:32 +0100 Subject: [PATCH 10/13] CMakePM: Do not force Xcode generator for iOS "Xcode" will be set as default generator for iOS kits, but if the user imports a iOS build from command line we shouldn't reset that generator to "Xcode". Amends b47a80c5ce2a12c94f02fd3eef97ed5d791a98f9 Fixes: QTCREATORBUG-30214 Change-Id: Idbdadcf24e87b861adf377975788e0146f7731cb Reviewed-by: Alexandru Croitor Reviewed-by: Reviewed-by: Eike Ziller --- src/plugins/cmakeprojectmanager/cmakebuildstep.cpp | 2 +- src/plugins/cmakeprojectmanager/cmakekitaspect.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp index ace64582f22..b874502ad07 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp @@ -231,7 +231,7 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) : stagingDir.setExpectedKind(PathChooser::Kind::Directory); Kit *kit = buildConfiguration()->kit(); - if (CMakeBuildConfiguration::isIos(kit)) { + if (CMakeBuildConfiguration::isIos(kit) && CMakeGeneratorKitAspect::generator(kit) == "Xcode") { useiOSAutomaticProvisioningUpdates.setDefaultValue(true); useiOSAutomaticProvisioningUpdates.setSettingsKey( IOS_AUTOMATIC_PROVISIONG_UPDATES_ARGUMENTS_KEY); diff --git a/src/plugins/cmakeprojectmanager/cmakekitaspect.cpp b/src/plugins/cmakeprojectmanager/cmakekitaspect.cpp index 6c112f01d5c..acf6451e8dd 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitaspect.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitaspect.cpp @@ -791,7 +791,7 @@ void CMakeGeneratorKitAspectFactory::fix(Kit *k) dv.fromVariant(defaultValue(k)); setGeneratorInfo(k, dv); } else { - const GeneratorInfo dv(isIos(k) ? QString("Xcode") : info.generator, + const GeneratorInfo dv(info.generator, it->supportsPlatform ? info.platform : QString(), it->supportsToolset ? info.toolset : QString()); setGeneratorInfo(k, dv); From a8370aaf81ac5ccd9aef71c7a2491e977b3a7a11 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 25 Jan 2024 17:28:53 +0100 Subject: [PATCH 11/13] CMakePM: Allow adding files to OBJECT libraries Amends 7a46bbe66739015528696e0ff74359fc95a779f7 which only used `cmakeTarget->productType() != ProductType::Other` which excludes OBJECT libraries. Now the fix actually includes all targets which are not UtilityType, which was the intention of 7a46bbe66739015528696e0ff74359fc95a779f7 Fixes: QTCREATORBUG-29914 Change-Id: If661828e43d5c566c876546f5527c0b670405e47 Reviewed-by: Alessandro Portale --- .../cmakeprojectmanager/cmakebuildsystem.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index a9856ae7b77..255ec0723a8 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -217,10 +217,17 @@ void CMakeBuildSystem::requestDebugging() bool CMakeBuildSystem::supportsAction(Node *context, ProjectAction action, const Node *node) const { const auto cmakeTarget = dynamic_cast(context); - if (cmakeTarget && cmakeTarget->productType() != ProductType::Other) - return action == ProjectAction::AddNewFile || action == ProjectAction::AddExistingFile - || action == ProjectAction::AddExistingDirectory || action == ProjectAction::Rename - || action == ProjectAction::RemoveFile; + if (cmakeTarget) { + const auto buildTarget = Utils::findOrDefault(m_buildTargets, + [cmakeTarget](const CMakeBuildTarget &bt) { + return bt.title + == cmakeTarget->buildKey(); + }); + if (buildTarget.targetType != UtilityType) + return action == ProjectAction::AddNewFile || action == ProjectAction::AddExistingFile + || action == ProjectAction::AddExistingDirectory + || action == ProjectAction::Rename || action == ProjectAction::RemoveFile; + } return BuildSystem::supportsAction(context, action, node); } From 6d715f15d8fea2b0248edfbe20630a8bfe83ad33 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 25 Jan 2024 10:27:35 +0100 Subject: [PATCH 12/13] TextEditor: Add case sensitivity checks in optimization 17e2a80e10dfc7907cfe0e95c368710799edd1ef added some optimization for prefix and infix matches of completion items in order to avoid the expensive regular expression check for the fuzzy match, but ignored the user configured case sensitivity for auto completions. Change-Id: Ic340e48abc6636bd2e8abeeddcd880cbdc66d03e Reviewed-by: hjk Reviewed-by: Reviewed-by: Christian Kandeler --- .../codeassist/genericproposalmodel.cpp | 48 +++++++++++++++---- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/src/plugins/texteditor/codeassist/genericproposalmodel.cpp b/src/plugins/texteditor/codeassist/genericproposalmodel.cpp index c3ee5261bfb..73f0829d091 100644 --- a/src/plugins/texteditor/codeassist/genericproposalmodel.cpp +++ b/src/plugins/texteditor/codeassist/genericproposalmodel.cpp @@ -295,16 +295,44 @@ void GenericProposalModel::filter(const QString &prefix) continue; } - if (text.startsWith(lowerPrefix, Qt::CaseInsensitive)) { - m_currentItems.append(item); - item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Prefix); - continue; - } - - if (checkInfix && text.contains(lowerPrefix, Qt::CaseInsensitive)) { - m_currentItems.append(item); - item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Infix); - continue; + switch (caseSensitivity) { + case FuzzyMatcher::CaseSensitivity::CaseInsensitive: + if (text.startsWith(lowerPrefix, Qt::CaseInsensitive)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Prefix); + continue; + } + if (checkInfix && text.contains(lowerPrefix, Qt::CaseInsensitive)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Infix); + continue; + } + break; + case FuzzyMatcher::CaseSensitivity::CaseSensitive: + if (checkInfix && text.contains(prefix)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Infix); + continue; + } + break; + case FuzzyMatcher::CaseSensitivity::FirstLetterCaseSensitive: + if (text.startsWith(prefix.at(0)) + && text.mid(1).startsWith(lowerPrefix.mid(1), Qt::CaseInsensitive)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Prefix); + continue; + } + if (checkInfix) { + for (auto index = text.indexOf(prefix.at(0)); index >= 0; + index = text.indexOf(prefix.at(0), index + 1)) { + if (text.mid(index + 1).startsWith(lowerPrefix.mid(1), Qt::CaseInsensitive)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Infix); + continue; + } + } + } + break; } // Our fuzzy matcher can become unusably slow with certain inputs, so skip it From 79e323afbfc8c4a43580a993fb668215387c9564 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 26 Jan 2024 10:28:47 +0100 Subject: [PATCH 13/13] Update qbs submodule to HEAD of 2.2 branch Change-Id: Ibe9fab31e5dedac362aa469c6d2cd058015a6020 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 0592a8709b4..0d589c18b57 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 0592a8709b4801b044c9324a41b1c253a2e09a5e +Subproject commit 0d589c18b570ce895cf3d6e69545439c2f68ebac