Skip to content

Commit b05eda1

Browse files
committed
RPC: Clear RTE Projects on ConvertSolution and LoadSolution
1 parent bf004f1 commit b05eda1

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

tools/projmgr/src/ProjMgrRpcServer.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,7 @@ RpcArgs::SuccessResult RpcHandler::LoadPacks(void) {
304304
RpcArgs::SuccessResult result = {false};
305305
m_manager.Clear();
306306
m_solutionLoaded = false;
307+
// clear project and global RTE data, packs stay loaded
307308
ProjMgrKernel::Get()->GetGlobalModel()->Clear();
308309
m_worker.InitializeModel();
309310
m_worker.SetLoadPacksPolicy(LoadPacksPolicy::ALL);
@@ -317,7 +318,10 @@ RpcArgs::SuccessResult RpcHandler::LoadPacks(void) {
317318

318319
RpcArgs::SuccessResult RpcHandler::LoadSolution(const string& solution, const string& activeTarget) {
319320
m_bUseAllPacks = false; // loading solution will first use only listed packs
320-
m_packReferences.clear();
321+
m_packReferences.clear(); // will be updated
322+
m_solutionLoaded = false; // assume not loaded yet
323+
// clear only projects, global RTE data and packs stay loaded
324+
ProjMgrKernel::Get()->GetGlobalModel()->ClearProjects();
321325
RpcArgs::SuccessResult result = {false};
322326
const auto csolutionFile = RteFsUtils::MakePathCanonical(solution);
323327
if(!regex_match(csolutionFile, regex(".*\\.csolution\\.(yml|yaml)"))) {
@@ -857,6 +861,9 @@ RpcArgs::ConvertSolutionResult RpcHandler::ConvertSolution(const string& solutio
857861
}
858862
m_bUseAllPacks = false; // loading solution will first use only listed packs
859863
m_packReferences.clear(); // will be updated
864+
m_solutionLoaded = false;// assume not loaded
865+
// clear only projects, RTE data and packs stay loaded
866+
ProjMgrKernel::Get()->GetGlobalModel()->ClearProjects();
860867

861868
if(!m_manager.RunConvert(csolutionFile, activeTarget, updateRte) || !ProjMgrLogger::Get().GetErrors().empty()) {
862869
if(m_worker.HasVarDefineError()) {

0 commit comments

Comments
 (0)