diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-06-12 14:53:55 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-06-12 14:54:01 -0400 |
commit | d42f0754084d7c88e49b40ae05eaf70639adcac4 (patch) | |
tree | a97517c87a708165f8b0593bfe091f30bd5d2623 /gtk2_ardour/ardour_ui.cc | |
parent | 0852d05643fcedd5eaeb0217c4afa9c95218ef17 (diff) |
stop AddRouteDialog from being modal and from using a recursive run loop
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 91c00065c6..a348f7c9f4 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -4005,7 +4005,9 @@ ARDOUR_UI::start_duplicate_routes () void ARDOUR_UI::add_route () { - int count; + if (!add_route_dialog.get (false)) { + add_route_dialog->signal_response().connect (sigc::mem_fun (*this, &ARDOUR_UI::add_route_dialog_finished)); + } if (!_session) { return; @@ -4016,7 +4018,14 @@ ARDOUR_UI::add_route () return; } - ResponseType r = (ResponseType) add_route_dialog->run (); + add_route_dialog->set_position (WIN_POS_MOUSE); + add_route_dialog->present(); +} + +void +ARDOUR_UI::add_route_dialog_finished (int r) +{ + int count; add_route_dialog->hide(); |