diff --git a/pcbnew/pcb_io/pcb_io_mgr.cpp b/pcbnew/pcb_io/pcb_io_mgr.cpp index 8e5823f5a0..a91be37e1d 100644 --- a/pcbnew/pcb_io/pcb_io_mgr.cpp +++ b/pcbnew/pcb_io/pcb_io_mgr.cpp @@ -198,6 +198,14 @@ bool PCB_IO_MGR::ConvertLibrary( STRING_UTF8_MAP* aOldFileProps, const wxString& wxArrayString fpNames; wxFileName newFileName( aNewFilePath ); + if( newFileName.HasExt() ) + { + wxString extraDir = newFileName.GetFullName(); + newFileName.ClearExt(); + newFileName.SetName( "" ); + newFileName.AppendDir( extraDir ); + } + if( !newFileName.DirExists() && !wxFileName::Mkdir( aNewFilePath, wxS_DIR_DEFAULT ) ) return false; @@ -297,4 +305,4 @@ static PCB_IO_MGR::REGISTER_PLUGIN registerIPC2581Plugin( PCB_IO_MGR::IPC2581, wxT( "IPC-2581" ), []() -> PCB_IO* { return new PCB_IO_IPC2581; } ); -// clang-format on \ No newline at end of file +// clang-format on