diff --git a/gtk2_ardour/export_file_notebook.cc b/gtk2_ardour/export_file_notebook.cc index a91a253b3c..3d2ec45208 100644 --- a/gtk2_ardour/export_file_notebook.cc +++ b/gtk2_ardour/export_file_notebook.cc @@ -260,8 +260,8 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager, sigc::mem_fun (*this, &ExportFileNotebook::FilePage::critical_selection_changed)); soundcloud_upload_button.signal_toggled().connect (sigc::mem_fun (*parent, &ExportFileNotebook::update_soundcloud_upload)); - soundcloud_upload_button.signal_toggled().connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::soundcloud_upload_changed)); - analysis_button.signal_toggled().connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::analysis_changed)); + soundcloud_button_connection = soundcloud_upload_button.signal_toggled().connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::soundcloud_upload_changed)); + analysis_button_connection = analysis_button.signal_toggled().connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::analysis_changed)); /* Tab widget */ tab_close_button.add (*Gtk::manage (new Gtk::Image (::get_icon("close")))); @@ -361,7 +361,15 @@ ExportFileNotebook::FilePage::critical_selection_changed () { update_tab_label(); update_example_filename(); + + soundcloud_button_connection.block (); + analysis_button_connection.block (); + update_analysis_button(); update_soundcloud_upload_button(); + + analysis_button_connection.unblock (); + soundcloud_button_connection.unblock (); + CriticalSelectionChanged(); } diff --git a/gtk2_ardour/export_file_notebook.h b/gtk2_ardour/export_file_notebook.h index d2545cb0ae..b639e19ffc 100644 --- a/gtk2_ardour/export_file_notebook.h +++ b/gtk2_ardour/export_file_notebook.h @@ -128,7 +128,11 @@ private: Gtk::Label tab_label; Gtk::Alignment tab_close_alignment; Gtk::Button tab_close_button; + uint32_t tab_number; + + sigc::connection soundcloud_button_connection; + sigc::connection analysis_button_connection; }; };