From b0b346c4acc0d9959630626350ea2dd3a705f4de Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 4 Jan 2021 21:57:59 -0700 Subject: [PATCH] fix deadlock caused by not unlocking TempoMap when not finishing a meter-marker-drag --- gtk2_ardour/editor_tempodisplay.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index a33d934645..81a22c393d 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -353,8 +353,7 @@ Editor::mouse_add_new_meter_event (timepos_t pos) return; } - TempoMap::SharedPtr map (TempoMap::write_copy()); - MeterDialog meter_dialog (map, pos, _("add")); + MeterDialog meter_dialog (TempoMap::use(), pos, _("add")); switch (meter_dialog.run ()) { case RESPONSE_ACCEPT: @@ -363,6 +362,8 @@ Editor::mouse_add_new_meter_event (timepos_t pos) return; } + TempoMap::SharedPtr map (TempoMap::write_copy()); + double bpb = meter_dialog.get_bpb (); bpb = max (1.0, bpb); // XXX is this a reasonable limit?