From b05eda173aca9eb1e3e8f8aea8b59bba0ef91521 Mon Sep 17 00:00:00 2001 From: Evgueni Driouk Date: Thu, 21 May 2026 16:13:49 +0200 Subject: [PATCH 1/2] RPC: Clear RTE Projects on ConvertSolution and LoadSolution --- tools/projmgr/src/ProjMgrRpcServer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/projmgr/src/ProjMgrRpcServer.cpp b/tools/projmgr/src/ProjMgrRpcServer.cpp index 140bcd28c..4ecc1c641 100644 --- a/tools/projmgr/src/ProjMgrRpcServer.cpp +++ b/tools/projmgr/src/ProjMgrRpcServer.cpp @@ -304,6 +304,7 @@ RpcArgs::SuccessResult RpcHandler::LoadPacks(void) { RpcArgs::SuccessResult result = {false}; m_manager.Clear(); m_solutionLoaded = false; + // clear project and global RTE data, packs stay loaded ProjMgrKernel::Get()->GetGlobalModel()->Clear(); m_worker.InitializeModel(); m_worker.SetLoadPacksPolicy(LoadPacksPolicy::ALL); @@ -317,7 +318,10 @@ RpcArgs::SuccessResult RpcHandler::LoadPacks(void) { RpcArgs::SuccessResult RpcHandler::LoadSolution(const string& solution, const string& activeTarget) { m_bUseAllPacks = false; // loading solution will first use only listed packs - m_packReferences.clear(); + m_packReferences.clear(); // will be updated + m_solutionLoaded = false; // assume not loaded yet + // clear only projects, global RTE data and packs stay loaded + ProjMgrKernel::Get()->GetGlobalModel()->ClearProjects(); RpcArgs::SuccessResult result = {false}; const auto csolutionFile = RteFsUtils::MakePathCanonical(solution); if(!regex_match(csolutionFile, regex(".*\\.csolution\\.(yml|yaml)"))) { @@ -857,6 +861,9 @@ RpcArgs::ConvertSolutionResult RpcHandler::ConvertSolution(const string& solutio } m_bUseAllPacks = false; // loading solution will first use only listed packs m_packReferences.clear(); // will be updated + m_solutionLoaded = false;// assume not loaded + // clear only projects, RTE data and packs stay loaded + ProjMgrKernel::Get()->GetGlobalModel()->ClearProjects(); if(!m_manager.RunConvert(csolutionFile, activeTarget, updateRte) || !ProjMgrLogger::Get().GetErrors().empty()) { if(m_worker.HasVarDefineError()) { From 4c8b12aea1f1bb8276eb8e398298abdfd0d0b670 Mon Sep 17 00:00:00 2001 From: Evgueni Driouk Date: Thu, 21 May 2026 16:20:59 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- tools/projmgr/src/ProjMgrRpcServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/projmgr/src/ProjMgrRpcServer.cpp b/tools/projmgr/src/ProjMgrRpcServer.cpp index 4ecc1c641..0aad379da 100644 --- a/tools/projmgr/src/ProjMgrRpcServer.cpp +++ b/tools/projmgr/src/ProjMgrRpcServer.cpp @@ -861,7 +861,7 @@ RpcArgs::ConvertSolutionResult RpcHandler::ConvertSolution(const string& solutio } m_bUseAllPacks = false; // loading solution will first use only listed packs m_packReferences.clear(); // will be updated - m_solutionLoaded = false;// assume not loaded + m_solutionLoaded = false; // assume not loaded // clear only projects, RTE data and packs stay loaded ProjMgrKernel::Get()->GetGlobalModel()->ClearProjects();