diff --git a/src/ProjectFileManager.cpp b/src/ProjectFileManager.cpp index ef8f5075e..af8c70c64 100644 --- a/src/ProjectFileManager.cpp +++ b/src/ProjectFileManager.cpp @@ -764,6 +764,25 @@ bool ProjectFileManager::OpenProject() return projectFileIO.OpenProject(); } +bool ProjectFileManager::OpenNewProject() +{ + auto &project = mProject; + auto &projectFileIO = ProjectFileIO::Get(project); + + bool bOK = OpenProject(); + if( !bOK ) + { + ShowErrorDialog( + nullptr, + XO("Can't open new empty project"), + XO("Error opening a new empty project"), + "FAQ:Errors_opening_a_new_empty_project", + true, + projectFileIO.GetLastLog()); + } + return bOK; +} + void ProjectFileManager::CloseProject() { auto &project = mProject; diff --git a/src/ProjectFileManager.h b/src/ProjectFileManager.h index 451c5f56e..8522f461e 100644 --- a/src/ProjectFileManager.h +++ b/src/ProjectFileManager.h @@ -55,6 +55,7 @@ public: bool OpenProject(); void CloseProject(); + bool OpenNewProject(); void CompactProjectOnClose(); diff --git a/src/ProjectManager.cpp b/src/ProjectManager.cpp index 24c4bfd01..5e6c48662 100644 --- a/src/ProjectManager.cpp +++ b/src/ProjectManager.cpp @@ -537,18 +537,20 @@ AudacityProject *ProjectManager::New() auto &window = ProjectWindow::Get( *p ); InitProjectWindow( window ); + // wxGTK3 seems to need to require creating the window using default position + // and then manually positioning it. + window.SetPosition(wndRect.GetPosition()); + auto &projectFileManager = ProjectFileManager::Get( *p ); - projectFileManager.OpenProject(); + + // This may report an error. + projectFileManager.OpenNewProject(); MenuManager::Get( project ).CreateMenusAndCommands( project ); projectHistory.InitialState(); projectManager.RestartTimer(); - // wxGTK3 seems to need to require creating the window using default position - // and then manually positioning it. - window.SetPosition(wndRect.GetPosition()); - if(bMaximized) { window.Maximize(true); }