summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-02-05 17:20:07 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-02-05 17:20:07 +0000
commit860aef8e6e0cb65bde665aa79aa5d7b2cdbc554e (patch)
tree1fe443c9632e5857f1b2f841e2485076396ff2b4 /gtk2_ardour
parent0bdaf456f13c0e9acc84fc043651cba634742442 (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.cc12
-rw-r--r--gtk2_ardour/ardour_ui.h5
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc2
-rw-r--r--gtk2_ardour/tempo_lines.h2
-rw-r--r--gtk2_ardour/utils.cc2
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;