diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index b8598fee6e..96746cb30a 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2464,10 +2464,10 @@ ARDOUR_UI::save_session_as () if (!save_as_dialog) { save_as_dialog = new SaveAsDialog; - } else { - save_as_dialog->clear_name (); } + save_as_dialog->set_name (_session->name()); + int response = save_as_dialog->run (); save_as_dialog->hide (); diff --git a/gtk2_ardour/save_as_dialog.cc b/gtk2_ardour/save_as_dialog.cc index 2f9c7c517f..b4822e4177 100644 --- a/gtk2_ardour/save_as_dialog.cc +++ b/gtk2_ardour/save_as_dialog.cc @@ -157,6 +157,13 @@ SaveAsDialog::clear_name () set_response_sensitive (RESPONSE_OK, false); } +void +SaveAsDialog::set_name (std::string name) +{ + new_name_entry.set_text (name); + name_entry_changed (); +} + bool SaveAsDialog::include_media () const { diff --git a/gtk2_ardour/save_as_dialog.h b/gtk2_ardour/save_as_dialog.h index 75751f8831..f016aaf2cd 100644 --- a/gtk2_ardour/save_as_dialog.h +++ b/gtk2_ardour/save_as_dialog.h @@ -40,6 +40,7 @@ public: bool copy_external () const; void clear_name (); + void set_name (std::string); private: Gtk::CheckButton switch_to_button;