diff --git a/SConstruct b/SConstruct index 0f55f1e8bd..9ba7273c92 100644 --- a/SConstruct +++ b/SConstruct @@ -21,7 +21,7 @@ import SCons.Node.FS SConsignFile() EnsureSConsVersion(0, 96) -ardour_version = '2.8.7' +ardour_version = '2.8.8' subst_dict = { } diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 4e1b2d4778..9b2ac77b02 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -724,6 +724,18 @@ ARDOUR_UI::check_memory_locking () #endif // !__APPLE__ } +void +ARDOUR_UI::queue_finish () +{ + Glib::signal_idle().connect (mem_fun (*this, &ARDOUR_UI::idle_finish)); +} + +bool +ARDOUR_UI::idle_finish () +{ + finish (); + return false; /* do not call again */ +} void ARDOUR_UI::finish() diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 798f1c0804..8342ee747a 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -777,6 +777,11 @@ class ARDOUR_UI : public Gtkmm2ext::UI void platform_specific (); void platform_setup (); void fontconfig_dialog (); + + /* these are used only in response to a platform-specific "ShouldQuit" signal + */ + bool idle_finish (); + void queue_finish (); }; #endif /* __ardour_gui_h__ */ diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 30e8488106..c8b9a2d44c 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -873,7 +873,7 @@ ARDOUR_UI::use_menubar_as_top_menubar () app->set_menu_bar (*menu_bar); - app->ShouldQuit.connect (sigc::mem_fun (*this, &UI::quit)); + app->ShouldQuit.connect (sigc::mem_fun (*this, &ARDOUR_UI::queue_finish)); app->ShouldLoad.connect (sigc::mem_fun (*this, &ARDOUR_UI::idle_load)); } diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h index ea47ddfb5f..843d94a785 100644 --- a/gtk2_ardour/tempo_lines.h +++ b/gtk2_ardour/tempo_lines.h @@ -27,7 +27,7 @@ #include "simpleline.h" typedef boost::fast_pool_allocator< - std::pair, + std::pair, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 8192> diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index c6e495acfc..69b3ff80b6 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -485,7 +485,7 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) bool special_handling_of_unmodified_accelerators = false; bool allow_activating = true; -#undef DEBUG_ACCELERATOR_HANDLING +#define DEBUG_ACCELERATOR_HANDLING #ifdef DEBUG_ACCELERATOR_HANDLING //bool debug = (getenv ("ARDOUR_DEBUG_ACCELERATOR_HANDLING") != 0); bool debug=true; diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index a4381a748f..d1776ccb7a 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -200,7 +200,7 @@ AudioEngine::stop (bool forever) Stopped(); /* EMIT SIGNAL */ } } - + return _running ? -1 : 0; }