fix logic errors in duplicate tracks dialog
This commit is contained in:
@@ -3759,9 +3759,11 @@ ARDOUR_UI::start_duplicate_routes ()
|
||||
duplicate_routes_dialog = new DuplicateRouteDialog;
|
||||
}
|
||||
|
||||
if (duplicate_routes_dialog->restart ()) {
|
||||
duplicate_routes_dialog->present ();
|
||||
if (duplicate_routes_dialog->restart (_session)) {
|
||||
return;
|
||||
}
|
||||
|
||||
duplicate_routes_dialog->present ();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -56,8 +56,14 @@ DuplicateRouteDialog::DuplicateRouteDialog ()
|
||||
}
|
||||
|
||||
int
|
||||
DuplicateRouteDialog::restart ()
|
||||
DuplicateRouteDialog::restart (Session* s)
|
||||
{
|
||||
if (!s) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
set_session (s);
|
||||
|
||||
TrackSelection& tracks (PublicEditor::instance().get_selection().tracks);
|
||||
uint32_t ntracks = 0;
|
||||
uint32_t nbusses = 0;
|
||||
@@ -91,9 +97,11 @@ DuplicateRouteDialog::restart ()
|
||||
which is what we really want to happen here.
|
||||
*/
|
||||
|
||||
if (ntracks == 0) {
|
||||
if (playlist_button_box.get_parent()) {
|
||||
get_vbox()->remove (playlist_button_box);
|
||||
} else {
|
||||
}
|
||||
|
||||
if (ntracks > 0) {
|
||||
get_vbox()->pack_end (playlist_button_box, false, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
|
||||
#include "ardour_dialog.h"
|
||||
|
||||
namespace ARDOUR {
|
||||
class Session;
|
||||
}
|
||||
|
||||
class Editor;
|
||||
|
||||
class DuplicateRouteDialog : public ArdourDialog
|
||||
@@ -37,7 +41,7 @@ class DuplicateRouteDialog : public ArdourDialog
|
||||
public:
|
||||
DuplicateRouteDialog ();
|
||||
|
||||
int restart ();
|
||||
int restart (ARDOUR::Session*);
|
||||
|
||||
private:
|
||||
Gtk::Entry name_template_entry;
|
||||
|
||||
Reference in New Issue
Block a user