diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-05 17:20:07 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-05 17:20:07 +0000 |
commit | 860aef8e6e0cb65bde665aa79aa5d7b2cdbc554e (patch) | |
tree | 1fe443c9632e5857f1b2f841e2485076396ff2b4 /gtk2_ardour | |
parent | 0bdaf456f13c0e9acc84fc043651cba634742442 (diff) |
correct size used by tempo line allocator; fix crash when exit is initiated by menu "quit" on OS X; bump to 2.8.8
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6636 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 5 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/tempo_lines.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/utils.cc | 2 |
5 files changed, 20 insertions, 3 deletions
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<double, ArdourCanvas::SimpleLine>, + std::pair<double, ArdourCanvas::SimpleLine*>, 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; |