summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dialogs.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-10-11 22:07:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-10-11 22:07:47 +0000
commitf7f9d6fdc40248b190ec9c6e1a886261d55777ae (patch)
tree080723e9dc35a66013b37acbafc67a6afa929302 /gtk2_ardour/ardour_ui_dialogs.cc
parentaa1f736a651376534acaa2268b65d42a3786fff7 (diff)
merge from 2.0-ongoing by hand, minus key binding editor
git-svn-id: svn://localhost/ardour2/trunk@2539 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_dialogs.cc')
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index c6353df782..9a71443489 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -162,21 +162,26 @@ ARDOUR_UI::connect_to_session (Session *s)
point_zero_one_second_connection = Glib::signal_timeout().connect (mem_fun(*this, &ARDOUR_UI::every_point_zero_one_seconds), 40);
}
-bool
-ARDOUR_UI::unload_session ()
+int
+ARDOUR_UI::unload_session (bool hide_stuff)
{
if (session && session->dirty()) {
switch (ask_about_saving_session (_("close"))) {
case -1:
// cancel
- return false;
+ return 1;
case 1:
session->save_state ("");
break;
}
}
- editor->hide ();
+
+ if (hide_stuff) {
+ editor->hide ();
+ mixer->hide ();
+ }
+
second_connection.disconnect ();
point_one_second_connection.disconnect ();
point_oh_five_second_connection.disconnect ();
@@ -204,16 +209,12 @@ ARDOUR_UI::unload_session ()
option_editor->set_session (0);
}
- if (mixer) {
- mixer->hide ();
- }
-
delete session;
session = 0;
update_buffer_load ();
- return true;
+ return 0;
}
int