mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-25 08:38:39 +02:00
Fix crash initializing GlobalPrefsDialog for special case of undefined temp...
... directory at startup time.
This commit is contained in:
parent
7b01339e51
commit
b924c8ad62
@ -92,6 +92,7 @@ It handles initialization and termination by subclassing wxApp.
|
|||||||
#include "ondemand/ODManager.h"
|
#include "ondemand/ODManager.h"
|
||||||
#include "commands/Keyboard.h"
|
#include "commands/Keyboard.h"
|
||||||
#include "widgets/ErrorDialog.h"
|
#include "widgets/ErrorDialog.h"
|
||||||
|
#include "prefs/DirectoriesPrefs.h"
|
||||||
|
|
||||||
//temporarilly commented out till it is added to all projects
|
//temporarilly commented out till it is added to all projects
|
||||||
//#include "Profiler.h"
|
//#include "Profiler.h"
|
||||||
@ -1605,8 +1606,11 @@ bool AudacityApp::InitTempDir()
|
|||||||
// Failed
|
// Failed
|
||||||
wxMessageBox(_("Audacity could not find a place to store temporary files.\nPlease enter an appropriate directory in the preferences dialog."));
|
wxMessageBox(_("Audacity could not find a place to store temporary files.\nPlease enter an appropriate directory in the preferences dialog."));
|
||||||
|
|
||||||
GlobalPrefsDialog dialog(NULL);
|
// Only want one page of the preferences
|
||||||
dialog.ShowTempDirPage();
|
DirectoriesPrefsFactory directoriesPrefsFactory;
|
||||||
|
PrefsDialog::Factories factories;
|
||||||
|
factories.push_back(&directoriesPrefsFactory);
|
||||||
|
GlobalPrefsDialog dialog(NULL, factories);
|
||||||
dialog.ShowModal();
|
dialog.ShowModal();
|
||||||
|
|
||||||
wxMessageBox(_("Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."));
|
wxMessageBox(_("Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."));
|
||||||
|
@ -386,18 +386,13 @@ void PrefsDialog::SelectPageByName(wxString pageName)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrefsDialog::ShowTempDirPage()
|
|
||||||
{
|
|
||||||
SelectPageByName(_("Directories"));
|
|
||||||
}
|
|
||||||
|
|
||||||
int PrefsDialog::GetSelectedPage() const
|
int PrefsDialog::GetSelectedPage() const
|
||||||
{
|
{
|
||||||
return mCategories->GetSelection();
|
return mCategories->GetSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
GlobalPrefsDialog::GlobalPrefsDialog(wxWindow * parent)
|
GlobalPrefsDialog::GlobalPrefsDialog(wxWindow * parent, Factories &factories)
|
||||||
: PrefsDialog(parent, _("Preferences: "), DefaultFactories())
|
: PrefsDialog(parent, _("Preferences: "), factories)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,7 +58,6 @@ class PrefsDialog:public wxDialog
|
|||||||
void OnTreeKeyDown(wxTreeEvent & e); // Used to dismiss the dialog when enter is pressed with focus on tree
|
void OnTreeKeyDown(wxTreeEvent & e); // Used to dismiss the dialog when enter is pressed with focus on tree
|
||||||
|
|
||||||
void SelectPageByName(wxString pageName);
|
void SelectPageByName(wxString pageName);
|
||||||
void ShowTempDirPage();
|
|
||||||
|
|
||||||
// Accessor to help implementations of SavePreferredPage(),
|
// Accessor to help implementations of SavePreferredPage(),
|
||||||
// such as by saving a preference after DoModal() returns
|
// such as by saving a preference after DoModal() returns
|
||||||
@ -85,7 +84,7 @@ private:
|
|||||||
class GlobalPrefsDialog : public PrefsDialog
|
class GlobalPrefsDialog : public PrefsDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GlobalPrefsDialog(wxWindow * parent);
|
GlobalPrefsDialog(wxWindow * parent, Factories &factories = DefaultFactories());
|
||||||
virtual ~GlobalPrefsDialog();
|
virtual ~GlobalPrefsDialog();
|
||||||
virtual long GetPreferredPage();
|
virtual long GetPreferredPage();
|
||||||
virtual void SavePreferredPage();
|
virtual void SavePreferredPage();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user