Pcbnew: fix a (minor) lock file issue: the lock was too early set. If the file was (for some reason) not actually loaded, it was locked. Now, the file is locked only if it is actually loaded.

This commit is contained in:
jean-pierre charras 2019-05-19 11:03:44 +02:00
parent 72794f1416
commit daf09ed9fe
1 changed files with 7 additions and 2 deletions

View File

@ -408,8 +408,6 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
return false;
}
m_file_checker.reset( lockFile.release() );
if( GetScreen()->IsModify() && !GetBoard()->IsEmpty() )
{
if( !HandleUnsavedChanges( this, _( "The current PCB has been modified. Save changes?" ),
@ -419,6 +417,9 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
}
}
// Release the lock file, until the new file is actually loaded
m_file_checker.reset( nullptr );
wxFileName pro = fullFileName;
pro.SetExt( ProjectFileExtension );
@ -503,6 +504,7 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
return false;
}
// 6.0 TODO: some settings didn't make it into the board file in 5.1 so as not to
// change the file format. For 5.1 we must copy them across from the config-initialized
// board.
@ -552,6 +554,9 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
GetBoard()->SetFileName( fname );
}
// Lock the file newly opened:
m_file_checker.reset( lockFile.release() );
if( !converted )
UpdateFileHistory( GetBoard()->GetFileName() );