From c875af48e7b6c523d0484963adb0ca8d68cdac52 Mon Sep 17 00:00:00 2001 From: Wayne Stambaugh Date: Sat, 5 Feb 2022 11:30:21 -0500 Subject: [PATCH] Don't create new project on save as when project file already exists. Fixes https://gitlab.com/kicad/code/kicad/-/issues/10625 --- kicad/tools/kicad_manager_control.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/kicad/tools/kicad_manager_control.cpp b/kicad/tools/kicad_manager_control.cpp index 580b72330c..0f7b1e3e3c 100644 --- a/kicad/tools/kicad_manager_control.cpp +++ b/kicad/tools/kicad_manager_control.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2019 CERN - * Copyright (C) 2019-2021 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2019-2022 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -366,8 +366,8 @@ public: bool atRoot = destFile.GetPath() == m_projectDirPath; if( ext == LegacyProjectFileExtension - || ext == ProjectFileExtension - || ext == ProjectLocalSettingsFileExtension ) + || ext == ProjectFileExtension + || ext == ProjectLocalSettingsFileExtension ) { wxString destPath = destFile.GetPath(); @@ -484,7 +484,7 @@ public: wxUniChar pathSep = wxFileName::GetPathSeparator(); if( destDirPath.StartsWith( m_projectDirPath + pathSep ) - || destDirPath.StartsWith( m_projectDirPath + PROJECT_BACKUPS_DIR_SUFFIX ) ) + || destDirPath.StartsWith( m_projectDirPath + PROJECT_BACKUPS_DIR_SUFFIX ) ) { destDirPath.Replace( m_projectDirPath, m_newProjectDirPath, false ); destDir.SetPath( destDirPath ); @@ -603,11 +603,10 @@ int KICAD_MANAGER_CONTROL::SaveProjectAs( const TOOL_EVENT& aEvent ) if( !traverser.GetErrors().empty() ) DisplayErrorMessage( m_frame, traverser.GetErrors() ); - if( traverser.GetNewProjectFile().FileExists() ) - { + if( !traverser.GetNewProjectFile().FileExists() ) m_frame->CreateNewProject( traverser.GetNewProjectFile() ); - m_frame->LoadProject( traverser.GetNewProjectFile() ); - } + + m_frame->LoadProject( traverser.GetNewProjectFile() ); return 0; }