diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index aa49ad736b..7479d4414d 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -53,6 +53,7 @@ #include "keyboard.h" #include "keyeditor.h" #include "rc_option_editor.h" +#include "region_editor.h" #include "rta_manager.h" #include "route_params_ui.h" #include "trigger_ui.h" @@ -88,6 +89,7 @@ ARDOUR_UI::we_have_dependents () StepEntry::setup_actions_and_bindings (); ClipEditorBox::init (); + RegionEditor::setup_actions_and_bindings (); setup_action_tooltips (); diff --git a/gtk2_ardour/region_editor.cc b/gtk2_ardour/region_editor.cc index 71b38dbd40..4a16207d00 100644 --- a/gtk2_ardour/region_editor.cc +++ b/gtk2_ardour/region_editor.cc @@ -251,6 +251,12 @@ RegionEditor::~RegionEditor () delete _clock_group; } +void +RegionEditor::setup_actions_and_bindings () +{ + RegionFxBox::register_actions (); +} + void RegionEditor::set_clock_mode_from_primary () { @@ -558,9 +564,7 @@ RegionEditor::RegionFxBox::RegionFxBox (std::shared_ptr r) , _no_redisplay (false) , _placement (-1) { - if (!rfx_box_actions) { - register_actions (); - } + assert (rfx_box_actions); _scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); _scroller.set_name ("ProcessorScroller"); diff --git a/gtk2_ardour/region_editor.h b/gtk2_ardour/region_editor.h index 055511e6a3..498d39f2c7 100644 --- a/gtk2_ardour/region_editor.h +++ b/gtk2_ardour/region_editor.h @@ -66,6 +66,8 @@ public: std::shared_ptr region () const { return _region; } + static void setup_actions_and_bindings (); + protected: virtual void region_changed (const PBD::PropertyChange&); virtual void region_fx_changed (); @@ -104,8 +106,9 @@ private: RegionFxBox (std::shared_ptr); void redisplay_plugins (); - private: static void register_actions (); + + private: static void load_bindings (); static void static_delete ();