13
0

Delay the writing of the been-here-before file until a bit later, in case the user cancels at some point during setup (#4434).

git-svn-id: svn://localhost/ardour2/branches/3.0@10489 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-11-08 01:43:44 +00:00
parent 5bd34bd84c
commit 9fa8238d9d
2 changed files with 17 additions and 5 deletions

View File

@ -121,9 +121,7 @@ Ardour will play NO role in monitoring"))
set_default_icon_list (window_icons);
}
sys::path been_here_before = user_config_directory();
been_here_before /= ".a3"; // XXXX use more specific version so we can catch upgrades
new_user = !exists (been_here_before);
new_user = !exists (been_here_before_path ());
bool need_audio_setup = !EngineControl::engine_running();
@ -141,8 +139,6 @@ Ardour will play NO role in monitoring"))
error << "Could not create user configuration directory" << endmsg;
}
/* "touch" the file */
ofstream fout (been_here_before.to_string().c_str());
setup_new_user_page ();
setup_first_time_config_page ();
setup_monitoring_choice_page ();
@ -645,6 +641,9 @@ ArdourStartup::on_apply ()
Config->set_use_monitor_bus (use_monitor_section_button.get_active());
/* "touch" the been-here-before path now that we're about to save Config */
ofstream fout (been_here_before_path().to_string().c_str());
Config->save_state ();
}
@ -1378,3 +1377,12 @@ ArdourStartup::existing_session_selected ()
set_page_complete (session_vbox, true);
move_along_now ();
}
sys::path
ArdourStartup::been_here_before_path () const
{
sys::path b = user_config_directory();
b /= ".a3"; // XXXX use more specific version so we can catch upgrades
return b;
}

View File

@ -39,6 +39,8 @@
#include <gtkmm/liststore.h>
#include <gtkmm/combobox.h>
#include "pbd/filesystem.h"
#include "ardour/utils.h"
class EngineControl;
@ -85,6 +87,8 @@ class ArdourStartup : public Gtk::Assistant {
bool new_user;
bool new_only;
PBD::sys::path been_here_before_path () const;
void on_apply ();
void on_cancel ();
bool on_delete_event (GdkEventAny*);